home *** CD-ROM | disk | FTP | other *** search
/ Atari Forever 4 / Atari Forever 4.zip / Atari Forever 4.iso / PD_THEMA / CLI / COMMAND / COMMAND.DOC < prev    next >
Text File  |  1998-03-14  |  118KB  |  2,771 lines

  1. 06101020705800
  2. 1Seite #
  3. 2
  4. F0000000
  5. 9[........................................................]011
  6. ëInhalt
  7. Ç
  8. 1 Einleitung zu command.prg ........................................  3
  9.  
  10. 2 Allgemeine Hinweise zur Befehlseingabe ...........................  4
  11.  
  12. 3 Allgemeine Befehle ...............................................  7
  13.   3.1 Besondere Befehle ............................................ 27
  14.   3.2 Zahlkonvertierungen .......................................... 28
  15.  
  16. 4 Die ALIAS-Einrichtung ............................................ 29
  17.   4.1 Einführung ................................................... 29
  18.   4.2 ALIAS-Befehlssatz ............................................ 29
  19.  
  20. 5 Die History-Einrichtung .......................................... 31
  21.   5.1 Einführung ................................................... 31
  22.   5.2 Die !-Befehle ................................................ 33
  23.  
  24. 6 Das Batch-Processing ............................................. 34
  25.   6.1 Einführung ................................................... 34
  26.   6.2 Befehlssatz .................................................. 34
  27.   6.3 Beispiele .................................................... 41
  28.     6.3.1 Bsp.1 .................................................... 41
  29.     6.3.2 Bsp.2 .................................................... 42
  30.     6.3.3 Bsp.3 .................................................... 43
  31.  
  32. 7 Variablen ........................................................ 44
  33.   7.1 Allgemeines zu den Variablen ................................. 46
  34.   7.2 Beispiel ..................................................... 47
  35.     7.2.1 Der File cc .............................................. 48
  36.  
  37. 8 EDI .............................................................. 49
  38.   8.1 Die Kommandos von EDI ........................................ 49
  39.  
  40. 9 Fehlermeldungen .................................................. 51
  41.  
  42. 10 Die Ausgabeumleitung ............................................ 54
  43.  
  44. 11 Allgemeines Blabla zum Schluß ................................... 55
  45.   11.1 Lieferumfang ................................................ 55
  46.   11.2 Zur Programmierung .......................................... 55
  47.  
  48. 12 ANHANG A (Befehlszusammenfassung) ............................... 58
  49.  
  50. 13 ANHANG B (oldy-Beispiele) ....................................... 61
  51.   13.1 Beispiel 1 für die Verwendung des oldy-Befehls .............. 61
  52. Ç  13.2 oldy, die Zweite ............................................ 62
  53.  
  54. 14 Index ........................................................... 63
  55.  
  56. ü
  57. ë1 Einleitungzucommand.prg
  58. 9[........................................................]011
  59. Ç
  60. êcommand.prgÇisteinKommandointerpreter,deraufherkömmlicheArt(àla
  61. MS-DOSo.ä.),alsoohneGEModerähnlicheBedienoberflächen,dieArbeit
  62. mitdemATARIunterstützensoll.ErumfaßtdiedafürüblichenBefehle
  63. wiez.B.fürdasFilekopieren,dasFilelöschenoderdieFileumbenen⑨
  64. nung.
  65. EinigeBefehlewurdenbeiUNIXabgeschaut.EinTeilderHistoryeinrich⑨
  66. tungfindetinähnlicherFormunterVMSVerwendung.DieBefehlemüssen
  67. viaTastatureingegebenwerden.EswirdzurBenutzungalsokein
  68. GebrauchvonderMausgemacht!
  69. ÜberdiebereitserwähnteHistoryeinrichtungistesmöglich,alte
  70. Befehlerelativeinfacherneutaufzurufen,ohneeinekompletteNeuein⑨
  71. gabederZeilevornehmenzumüssen.
  72. ImFolgendenfindetsicheineZusammenstellungderBefehlemitBe⑨
  73. schreibung,sowieeineErklärungzudenzusätzlichenFeatureswiez.B.
  74. dasBatchprocessing.
  75.  
  76. êEsverstehtsichwohlvonselbst,daßichfürdaskorrekteFunktionie⑨
  77. rendesProgrammskeineGarantieübernehme.Datenverluste,diedurch
  78. auftretendeProgrammfehlerodereinefehlerhafteBedienungverursacht
  79. wordensind,hatjederselbstzuverdauen!
  80. GefundeneFehleroderProblemebitteichanmichweiterzuleiten(meine
  81. Adressestehtim'AllgemeinenBlabla'-Abschnitt).
  82. Ç
  83.  
  84. ë2 AllgemeineHinweisezurBefehlseingabe
  85. ü
  86. ÇDieEingabeeinesBefehlskannmitHilfederCursortasten,derüDELETEÇ-
  87. Taste,derüESCÇ-TasteundderüBACKSPACEÇ-TasteüÇkorrigiertwerden!
  88.  
  89. üCONTROL-'<-'Çbzw.üCONTROL-'->'ÇbringendenCursorandenZeilenanfang/
  90. dasZeilenende.
  91.  
  92. üSHIFT-'->'Çbzw.üSHIFT-'<-'ÇbringendenCursoreinWortnachrechts/
  93. links.
  94.  
  95. üCONTROL-XÇvertauschtdasaktuellemitdemfolgendenZeichen.
  96.  
  97. üCONTROL-DÇlöschtalleZeichenvomPromptbiszurCursorposition.
  98.  
  99. üINSERTÇexpandierteinenEingabestring,wenneseinenFileimaktuellen
  100. Ordnergibt,dermitdiesemStringbeginnt.
  101.  
  102. ManbefindetsichübrigensdieganzeZeitineinemEinfügemodus,d.h.
  103. beimKorrigiereneinerZeilewerdenkeineZeichenüberschrieben.
  104. ÜberflüssigeZeichenmüssenalsoexplizitgelöschtwerden!
  105.  
  106. DieüESCÇ-TastelöschtdiekompletteZeile.DieanderenTastenhabenihre
  107. üblicheFunktion.
  108.  
  109. VieleBefehleerwartenmehrereArgumentangabenoderlassenmehrere
  110. Argumentezu.DiesemüssenjeweilsdurcheinenBlankabgegrenztsein,
  111. z.B.würde"dir*.prg*.tos"zuerstallePRG-FilesunddannalleTOS-
  112. DateiendesaktuellenVerzeichnissesaufzeigen.
  113.  
  114. DemBenutzerältererVersionendesInterpretersfälltvielleichtauf,
  115. daßdieAnmerkungnurBefehlseingabeninKleinbuchstabenvorzunehmen,
  116. nichtmehrvorhandenist.DieseRestriktionhabeichentfernt.Es
  117. könnenjetztEingabeninGroß-undKleinschreibungerfolgen.
  118. Manmußallerdingbeachten,daßbeieinerEingabederersteStringin
  119. Kleinbuchstabenumgewandeltwird,dieArgumentangabenbleibenunverän⑨
  120. dert.
  121.  
  122. üACHTUNG!
  123. ÇIchbininzwischendazuübergegangen,BefehleausdemInterpreterzu
  124. entfernen.EshandeltsichdabeiausnahmslosumKommandos,diedurch
  125. andereeinfachnachgebildetwerdenkönnen(z.B.ühideÇ).DerGrundliegt
  126. einmalinderErsparnisvonSpeicher.DasProgrammbelegtinder
  127. jetzigenFormmitVariablenundPufferbereichenfast100kBRAM.Essind
  128. bereitsLeutegekommen,diewegendiesesUmfangsSpeicherprobleme
  129. bekommenhaben.ZweitenshatdieVielfaltderKommandosnichtbesonders
  130. ÇzurÜbersichtlichkeitbeigetragen.Eswurdenaberwirklichnurdoppelt
  131. gemoppelteKommandosentfernt.DieBeschreibungenthältandenrelevan⑨
  132. tenStellenHinweise,wiemandieseBefehlenachbildenkann!
  133.  
  134. BeiderfolgendenBefehlsbeschreibungsind'ê[]Ç'-Argumentangabenals
  135. optionalzuverstehenund'ê<>Ç'alszwingend.SindArgumentez.B.durch
  136. '(s)'alsPluralgekennzeichnet,bedeutetdies,daßmehrereArgumente
  137. angegebenwerdenkönnen(nichtêmüssenÇ).
  138.  
  139. EsgibteineganzeReihevonFehlermeldungen,dieesdemBenutzer
  140. erleichternsollen,einenFehlerbzw.einaufgetretenesProblemzu
  141. erkennen.DurchdieVerbindungeinerFehlermeldungmiteinerFehlernum⑨
  142. mer,istderBenutzervonBatchdateieninderLage,aufbestimmte
  143. Situationenindividuellzureagieren.
  144.  
  145. EineweitereFähigkeitdesInterpreterssollauchschonandieser
  146. StelleErwähnungfinden.MankannvonihmausexterneProgramme
  147. aufrufen.KanneineingegebenesKommandonichtalsinternerBefehl
  148. erkanntwerden,wirdversucht,obeseinProgrammgibt,daßdiesem
  149. Befehlsnamenentspricht.IstdiesderFall,wirdesaufgerufen(das
  150. beziehtsichaufTOS,TTPundPRG-Dateien).Programme,diesichim
  151. aktuellenVerzeichnisbefindenunddieaufgerufenwerdensollen,müssen
  152. nichtmitihremvollenNamenbezeichnetwerden!Eswirddaserste
  153. Programmgestartet,daßmitdemeingegebenenTeilstringübereinstimmt
  154. undeinederobigenExtensionshat.
  155. DieEinschränkungmitdemêaktuellenÇVerzeichnisbestehtabdieser
  156. Versionnichtmehr,d.h.auchProgrammeausanderenOrdnernund
  157. LaufwerkenkönnenviaTeilstringaufgerufenwerden!Fürdienotwendige
  158. EindeutigkeitmußderBenutzerallerdingsselbersorgen.
  159. Sollz.B.einProgramm'programm.tos'aufgerufenwerden,genügtes
  160. 'programm'odersogarnochwenigerZeicheneinzugeben,umeszu
  161. starten.
  162. Esverstehtsichwohlvonselbst,daßeingegebeneArgumenteandiese
  163. Programmeweitergegebenwerden.
  164. DerBenutzerkannmithilfedesüpathÇ-BefehlsbestimmteSuchpfadeange⑨
  165. ben,diederInterpreteraufderSuchenacheinembestimmtenProgramm
  166. abklappert.
  167.  
  168. IndenVorgängerversionendesInterpreterswurdenachdemLaufeines
  169. '.PRG'-ProgrammsderBildschirmgelöscht.DiesesVerhaltenfanden
  170. allerdingseinigeLeutenichtsobesonderstoll.AusdiesemGrundwird
  171. nunkeineLöschungmehrvorgenommen.DerCursorbefindetsichnachdem
  172. ProgrammlaufinderletztenZeile(dieallerdingsgelöschtwird).Obes
  173. nununterUmständenzukleinerenUnschönheitenmitdemMauszeiger
  174. kommt,bleibtabzuwarten.
  175.  
  176. ÇDieBefehleinderfolgendenBeschreibungsinddurcheinvorangestell⑨
  177. tes'ü->Ç'undeineeinfacheUnterstreichungkenntlichgemacht.
  178.  
  179. DaeszahlreicheKommandosgibt,dienurdurcheineAbkürzungrepräsen⑨
  180. tiertsind(z.B.ücpÇfüräcopyÇ),werdendortdievollständigeAusschrei⑨
  181. bungderKommandosangegeben.Diesscheintmirfüreineinfacheres
  182. EinprägenderBefehleförderlichzusein.
  183.  
  184. DurchhäufigenGebrauchvonBeispielenhabeichversucht,dieBefehle
  185. undihreFunktiontransparenterzumachen.EinigedieserBeispiele
  186. enthaltenHinweise,diezueinerbequemerenHandhabungdesInterpreters
  187. führensollen.Esistdahernichtganzsinnlos,sichmitdiesem
  188. zusätzlichenGeschwafelauseinanderzusetzen.
  189.  
  190.  
  191. ë3 AllgemeineBefehle
  192. Ç
  193. ♪②ê->?ok
  194. ÇDiesenBefehlunddenzugehörigenFileêchecksum.datÇgibtesnichtmehr.
  195. EskonntepraktischjederdieZahlinderangesprochenenDateiändern
  196. undsoeineWarnungprovozieren,alsohatdasKommandoseinenSinn
  197. leiderverfehlt.IchmöchteandieserStellenochaufdieinzwischen
  198. dochrechtzahlreichvorhandenenPD-Programmehinweisen,dieein
  199. ErkennenvonVirenzulassen.DieVerwendungeinessolchenProgrammssei
  200. jedemnurwärmstensempfohlen!
  201.  
  202. ♪②ê->bell
  203. ÇDieserBefehlläßtdenATARIeinmal'klingeln'.Mankannmitdiesem
  204. Kommandoz.B.dasEndeeinerBatchfilebearbeitungakustischhervorhe⑨
  205. ben.
  206.  
  207. ♪③ê->cat<file(s)>
  208. Ç(kompletterName:äconcatenateÇ)
  209. GibtdenInhalteinesASCII-Text-FilesaufdenBildschirmaus.Die
  210. Ausgabekannjederzeitmitü^ZÇabgebrochenwerden.DerBefehlerlaubt
  211. es,mehrereDateienanzugeben.
  212. BeimVersuchz.B.eineProgrammdateiauszugeben,brichtnatürlichdas
  213. Chaosaus!
  214. DurchüF1Ç(damitistdieFunktionstastegemeint)kanndieAusgabe
  215. angehaltenwerden,durcherneutenDruckaufüF1Çwirdsiewieder
  216. fortgesetzt.
  217. MankanndiesesKommandoübrigensauchaufandereVerzeichnisseund
  218. Laufwerkeanwenden!
  219. ♪⑤BEISPIEL:
  220.  
  221. cat*.c
  222.  
  223. Hierwerdenalle'C'-Dateienausgegeben.
  224.  
  225. ♪③catcommand.txttest.txt*.dat
  226.  
  227. EswirderstderFile'command.txt'ausgegeben,danndieDatei
  228. 'test.txt'undzumSchlußalle'dat'-Files.
  229.  
  230. ♪③cat/test/*.dat
  231.  
  232. Ausgabealler'dat'-Files,diesichimOrdner'test'befinden.
  233.  
  234. ♪③ê->cd<directory>
  235. Ç(kompletterName:ächangedirectoryÇ)
  236. DiesesKommandowirdzumWechselnvonVerzeichnissenbenutzt.
  237. ÇSollzueinemOrdnergewechseltwerden,dersichimaktuellenDirectory
  238. befindet,genügtes,dieerstenBuchstaben(bisEindeutigkeitherge⑨
  239. stelltist),einzugeben.
  240. EswirdimmerdasêersteÇVerzeichnisangesprungen,daßmitdiesem
  241. Teilstringübereinstimmt.
  242. Esistabundzuschonvorgekommen,daßbeimWechselnvonLaufwerken,
  243. zwarsogetanwird,alshätteeinsolcherstattgefunden,mansichaber
  244. inWirklichkeitimmernochandergleichenStellebefindet.Hier
  245. scheinteseinProblemimTOSzugeben(GEMDOS-RoutineüDsetdrvÇ).Dieses
  246. VerhaltenhabeichallerdingsbishernurbeiFloppylaufwerkenbeobach⑨
  247. tenkönnen.RamdisksoderverschiedenePartitionseinerHarddisk
  248. bereitenkeineProbleme.IchmöchtemitdiesemHinweisallerdingsnicht
  249. sagen,daßjetztdauerndmitdieserêNichtwechseleiÇzurechnenist,also
  250. keinePanik!
  251. ♪⑤BEISPIEL:
  252.  
  253. cdsubdir
  254.  
  255. WechseltvomaktuellenVerzeichnisindasUnterverzeichnis'subdir'.
  256.  
  257. ♪③cda:bingo
  258.  
  259. WechseltdasLaufwerk,vomaktuellenLaufwerkaufLaufwerkA,undgeht
  260. dortindenOrdner'bingo'.
  261.  
  262. ♪③cd..
  263.  
  264. VomaktuellenUnterverzeichniswirdindasVerzeichnisgegangen,daß
  265. sicheineEbeneüberdemUnterverzeichnisbefindet.Verhältsichalso
  266. analogzueinemAnklickenderoberenlinkenFenstereckeunterGEM.
  267.  
  268. ♪③cd/(odercd\)
  269.  
  270. WechseltindasWurzelverzeichnisdesaktuellenLaufwerks.
  271.  
  272. ♪③cdd:
  273.  
  274. WechseltnurdasLaufwerk.DieEingabevon'd:'bewirktübrigensdas
  275. gleiche(s.u.).
  276. ê
  277. ♪③->chmod<file><mode>...<file><mode>
  278. Ç(kompletterName:ächangemodeÇ)
  279. DieserBefehlkannzurÄnderungvonFileattributenbenutztwerden.Bei
  280. denFileangabenkannmit'*'gearbeitetwerden.'mode'repräsentiert
  281. eineIntegerzahl,diedasneueAttributdarstellt.
  282. MansolltebeiVerwendungdiesesBefehlsetwasVorsichtwaltenlassen.
  283. ÇIchhabez.B.malauseinemnormalenêauto.comÇ-FileeinVolumelabel
  284. gemacht.LeiderhatdieRückführungineinenormaleDateinichtmehr
  285. funktioniert.DasBetriebssystemisthierleiderziemlichrestriktiv
  286. ausgelegt!
  287. Esistmirbisjetztauchnochnichtgelungen,Verzeichnissenz.B.das
  288. êreadonlyÇ-Attributzuvergeben(wasjaalsSchutzfunktionrecht
  289. nützlichwäre).IrgendwiehatmanaufsolcheEinträgekeinenZugriff
  290. viaüFattrib()Ç.
  291. AndieserStelleisteineZusammenstellungderBitsundihrerBedeutung
  292. wohlganzhilfreich:
  293.      Bit0:Dateiistschreibgeschützt
  294.      Bit1:Dateiistversteckt(wenigstenseinbißchen)
  295.      Bit2:eshandeltsichumeineSystemdatei(habebisjetztnoch
  296.           keinegefunden)
  297.      Bit3:Volumelabel(kannmanz.B.beimFormatierenangeben)
  298.      Bit4:Verzeichnis
  299.      Bit5:istdasArchivbit(KennungüwcÇ)
  300. UmdieentsprechendeEigenschaftzubesitzenmußdasjeweiligeBit
  301. gesetztsein!
  302. ♪⑤BEISPIEL:
  303.  
  304. chmod*.prg1
  305.  
  306. AllenPRG-DateienimaktuellenOrdnerwirddasênurlesenÇ-Attribut
  307. verliehen.
  308.  
  309. ♪③chmod*.prg1*.txt0
  310.  
  311. PRG-FileswerdenmitdemênurlesenÇ-Attribut,TXT-Dateienerhaltendas
  312. normaleSchreiben/Lesen-Attribut.
  313.  
  314. ♪③ê->cls
  315. Ç(kompletterName:äclearscreenÇ)
  316. EswirdmitdiesemBefehlnurderBildschirmgelöscht.
  317.  
  318. ♪③ê->cmp<fileA><fileB>
  319. Ç(kompetterName:äcompareÇ)
  320. VergleichtdenInhaltzweierFilesmiteinander.Istdiesergleich,wird
  321. nichtszurückgemeldet,ansonsteneinêfilesdifferÇ.
  322. EsistbeidiesemBefehlmöglich,sichaufandereLaufwerkeundandere
  323. Ordnerzubeziehen.
  324. Wemesabundzuschonpassiertist,daßeinscheinbarkorrekt
  325. abgelaufenerKopiervorgangdochnichtsorechtfunktionierte,wird
  326. diesenBefehlzuschätzenwissen.
  327. ♪√ÇBEISPIEL:
  328.  
  329. cmpc:command.txta:command.txt
  330.  
  331. VergleichderbeidenDateien,diesichaufunterschiedlichenLaufwerken
  332. befinden.
  333.  
  334. ♪③cmpcommand.txtcommand.txt
  335.  
  336. DieserBefehlwirdnichtausgeführt,dadavonauszugehenist,daßes
  337. sichumeinunddenselbenFilehandelt.
  338.  
  339. ♪②ê->compress<file(s)>
  340. ÇDiesesKommandokomprimiertDateien.DieAusgabefilesbesitzendie
  341. Extension'CPR'.
  342. DieursprünglichenFileswerdenmitüexpandÇwiedererzeugt.
  343. DasErgebnisderKompaktierungistallesinallemnichtbesonders
  344. berauschend,abereinbißchenschautschondabeiheraus.
  345. SolltejemandaufeinewirklicheffektivarbeitendeKompaktierung
  346. angewiesensein,somöchteichdiesenaufProgrammewieäARCÇoderäZOOÇ
  347. verweisen.
  348. ÄltereVersionendesKommandointerpreterskonntennurreineASCII-
  349. Textdateienpacken.DieseEinschränkunggiltnichtmehr.DieserVorteil
  350. hatallerdingseinenkleinenHaken,redundanteTextewiez.B.Leerzei⑨
  351. len,dienurBlanksenthaltenoderZeilen,diemitBlanksaufhören,
  352. werdennichtmehrentfernt!NachderErweiterungmitüexpandÇhatman
  353. alsowiederdenursprünglichenFilevorsich.
  354. DasVerfahren,dashinterdiesemKommandostehtistübrigensganz
  355. einfach:eswerdenalleStrings,dieausmehralszweigleichenZeichen
  356. bestehen,zudreiByte-Stringszusammengefaßt.
  357. BesondersguteOpferfürdiesenBefehlsindmitdemEditorTEMPUS
  358. erstellteDateien.DadieserleidernichtinderLageist,vernünftig
  359. mitTAB-Zeichenumzugehen(undstattdessendasidiotischeATARI-
  360. spezifischeZeichenbzw.dieeingestellteAnzahlvonBLANKsmacht),
  361. bringthierdieKomprimierungschoneinigeBytesanErsparniss.Sollte
  362. irgendwanneinmaleineVersiondieses,ansonstenwirklichguten,
  363. Editorsherauskommen,dieeinebrauchbareEinbindungundVerarbeitung
  364. vonTABbeinhaltet,bringtdieKomprimierungnatürlichauchnichtmehr
  365. dieseErgebnisse.
  366. ♪⑤BEISPIEL:
  367.  
  368. compressbeispiel.txt
  369.  
  370. KompaktiertdieDatei'beispiel.txt'.DererzeugteFileheißt
  371. 'beispiel.cpr'.'beispiel.txt'selbstwirdênichtÇverändert!
  372.  
  373. ♪²ê->cp<fileA><fileB>
  374. Ç(kompletterName:äcopyÇ)
  375. DieserBefehlwirdzumKopierenvonDateienbenutzt.'fileA'wirddabei
  376. in'fileB'kopiert.
  377. DerBefehlistsoausgelegt,daßinweitemUmfangaufandereLaufwerke
  378. undVerzeichnissezugegriffenwerdenkann.DieVerwendungvon'*'
  379. bieteteinzusätzlichesMaßanFlexibilität.
  380. WährenddemKopiervorgangwirdangezeigt,welcheFilesgeradedupli⑨
  381. ziertwerden.
  382. SicherheitshalbersolltebeimKopiereninoderausVerzeichnissender
  383. vollständigePfadangegebenwerden!
  384. WirdnureinArgumentangegeben,soersetztdasProgrammdaszweite
  385. durch'*.*'.
  386. ♪⑤BEISPIEL:
  387.  
  388. cpc:command.txtd:\subdir\*.*
  389.  
  390. IndiesemBeispielwirdderFile'command.txt'vomHauptdirectoryauf
  391. LaufwerkCindasSubdirectory'subdir'aufLaufwerkDkopiert.
  392. Eskannübrigensstatt'\'auch'/'verwendetwerden.
  393.  
  394. ♪③cp*.prga:
  395.  
  396. KopiertallePRG-DateiendesaktuellenVerzeichnissesaufLaufwerkA.
  397.  
  398. ♪③cp*.*d:/allefiles/*.*
  399.  
  400. HierwerdenalleFilesdesaktuellenOrdnersindasDirectory
  401. 'allefiles'aufLaufwerkDkopiert.
  402.  
  403. ♪③cpc:xyz.dat
  404.  
  405. DerFile'xyz.dat'wirdvomLaufwerkCindasVerzeichniskopiert,in
  406. demmansichgeradebefindet.DerNamederneuenDateiistdabeiauch
  407. wieder'xyz.dat'.
  408.  
  409. ♪③ê->crsoff
  410. Ç(kompletterName:äcursoroffÇ)
  411. SchaltetdenCursoraus.
  412.  
  413. ♪③ê->crson
  414. Ç(kompletterName:äcursoronÇ)
  415. SchaltetdenCursorein.
  416.  
  417. ♪②ê->crypt<keyA><keyB><fileA><fileB>
  418. ÇMöchtemaneinenFilever-bzw.entschlüsseln,sokanndazudieser
  419. ÇBefehlbenutztwerden.UmdiesenKodierungsvorgangzustarten,istes
  420. notwendig,zweiZahlen('keyA'und'keyB')einzugeben.Nurmitdiesen
  421. beidenZahlenkanneinverschlüsselterFilewiederdekodiertwerden!
  422. 'fileA'stelltdenzuver-/entschlüsselndenFiledar,'fileB'reprä⑨
  423. sentiertdieErgebnisdatei.
  424. üACHTUNGÇ,imLaufederZeit(oderbesser:derInterpreterversionen)sind
  425. andiesemProgrammteilimmerwiederÄnderungenvorgenommenworden!Es
  426. istdaherfürBenutzerdiesesBefehlsnotwendig,festzustellenobein
  427. EntschlüsselnvonDateien,diemiteinerälterenVersionverschlüsselt
  428. wordensind,nochmöglichist.Kanndiesnichtmehrdurchgeführt
  429. werden,mußmandenfraglichenFileerstmitderälterenVersionwieder
  430. inseinenUrzustandbringen!
  431. WiesicherdieKodierungist,magjederselbstentscheiden.Diebeiden
  432. SchlüsselsindvomTyp'long',damitergebensichschoneinigeKodie⑨
  433. rungsmöglichkeiten.EskönnenübrigensauchgnegativeSchlüsselbenutzt
  434. werden.
  435. ♪⑤BEISPIEL:
  436.  
  437. crypt1234711command.txtcommand.crp
  438.  
  439. DieDatei'command.txt'wirdinverschlüsselterFormimFile
  440. 'command.crp'abgelegt.Sollaus'command.crp'wiederderentschlüs⑨
  441. selteFileentstehen,mußeinfach
  442.  
  443. ♪③crypt1234711command.crpcommand.ent
  444.  
  445. eingegebenwerden.'command.ent'repräsentiertnundenentschlüsselten
  446. File.EshättenatürlichauchirgendeinandererDateinamegewählt
  447. werdenkönnen.
  448. DerUrfile(indiesemFall'command.txt')wirdübrigenswedergelöscht
  449. nochsonstirgendwieverändert!
  450.  
  451. ♪②ê->date[dd.mm.yy]
  452. ÇAusgabe/SetzendesDatums.
  453. WirdkeinArgumentangegeben,wirdeinfachdasSystemdatumausgegeben,
  454. sonsterfolgteineÜbernahmedesArguments.
  455. ♪⑤BEISPIEL:
  456.  
  457. date1.5.88
  458.  
  459. SetztdasSystemdatumaufden1.Mai1988.
  460.  
  461. ♪③date
  462.  
  463. HierwirdnurdasSystemdatumausgegeben.
  464.  
  465. ♪²ê->defkey<f-key><string>
  466. Ç(kompletterName:ädefinekeyÇ)
  467. BelegungderFunktionstastenmiteinemBefehl,derbeiDrückendieser
  468. Tastenausgeführtwird.
  469. 'f-key'umfaßtdenBereichvon1bis20(naja,esgibthaltnur
  470. zwanzigFunktionstasten),wobeiabNummer11dieêgeshiftetenÇTasten
  471. gemeintsind,alsowirdz.B.Taste14duchüSHIFT-F4Çrepräsentiert.
  472. ♪⑤BEISPIEL:
  473.  
  474. defkey1dir*.prg
  475.  
  476. JederDruckaufüF1ÇführtjetztzumAufzeigenallerPRG-Dateienim
  477. aktuellenVerzeichnis.
  478. DieHauptanwendungfürdieseFunktiondürfteallerdingsimAufrufenvon
  479. externenProgrammenmitbestimmtenParameternliegen:
  480.  
  481. ♪③defkey12x.prg
  482.  
  483. üF12Ç(üSHIFT-F2Ç)führtnunzumStartendesProgramms'x.prg'.
  484. ê
  485. ♪②->device
  486. ÇAusgabederangemeldetenLaufwerke.
  487.  
  488. ♪③ê->df
  489. Ç(kompletterName:ädiskfreeÇ)
  490. DiesesKommandozeigtdenfreienSpeicherplatzdesaktuellenLaufwerks
  491. an.
  492.  
  493. ♪③ê->dir[filedeskriptor(en)]
  494. Ç(kompletterName:ädirectoryÇ)
  495. Aufzeigenaller(bestimmter)DateieneinesOrdners.Eskönnenauch
  496. Laufwerksbezeichnungenbzw.Ordnerangegebenwerden.
  497. WirdkeinDeskriptorangegeben,werdenalleFilesausgegeben.Bei
  498. AngabemehrererDeskriptoren,werdensukzessivealleentsprechenden
  499. Dateienaufgezeigt.
  500. ZusätzlichzudenFilenameerfolgteineAusgabevonErstellungsdatum,
  501. GrößeundFileattribut.
  502. DieAttributewerdensowohlinabgekürzterForm,alsauchalsInteger⑨
  503. wert(inKlammern)ausgegeben.DieAttributabkürzungenundihreBedeu⑨
  504. tung:
  505.  
  506.           -ürwÇ=üRÇeadandüWÇrite
  507.           -üroÇ=üRÇeadüOÇnly
  508.           -ühiÇ=üHIÇdden
  509.           -üsfÇ=üSÇystemüFÇile
  510.           -üvlÇ=üVÇolumeüLÇabel
  511. Ç          -üdiÇ=üDIÇrectory
  512.           -üwcÇ=üWÇrittenandüCÇlosed
  513.  
  514. NatürlichkanneinFilemehrereAttributehaben(z.B.üwcÇundühiÇ).Es
  515. werdendannalleaufgeführt.
  516. ♪⑤BEISPIEL:
  517.  
  518. dir
  519.  
  520. AusgabeallerDateiendesaktuellenVerzeichnisses.
  521.  
  522. ♪③dira:
  523.  
  524. AusgabeallerFilesvomaktuellenOrdneraufLaufwerkA.
  525.  
  526. ♪③dir*.prga*.*
  527.  
  528. AusgabeallerPRG-FilesunddanachallerDateien,diemit'a'beginnen.
  529.  
  530. ♪③dir/megamax/
  531.  
  532. AusgabeallerDateienimVerzeichnis'megamax'.
  533.  
  534. ♪②ê->echo[string]
  535. ÇAusgabevon'string'aufdenBildschirm.WirdkeinStringangegeben,
  536. erfolgtnurdieAusgabeeinerLeerzeile.
  537. SinnvollistdiesesKommandoinBatchfiles.
  538. ♪⑤BEISPIEL:
  539.  
  540. echoNaprima!
  541.  
  542. Eswird'Naprima!'ausgegeben.
  543.  
  544. ♪②ê->exit
  545. ÇVerlassendesInterpretersundzurückzumDesktop.Dasgleichekannman
  546. auchdurchDrückenvonü^CÇerreichen.
  547.  
  548. ♪②ê->expand<file(s)>
  549. ÇDieserBefehlstelltdieUmkehrungzuücompressÇdar.Erdientder
  550. WiederherstellungvonmitücompressÇbehandelterDateien.DerErgebnis⑨
  551. filehatdieExtension'EXP'.
  552.  
  553. ♪②ê->find<file>
  554. ÇEswirdimkomplettenFilesystem(alsoauchindenUnterverzeichnissen)
  555. nach'file'gesucht.WirdeinepassendeDateigefunden,wirddiesemit
  556. vorangestelltemPfadnamenausgegeben.
  557. ♪√ÇBEISPIEL:
  558.  
  559. find*.*
  560.  
  561. DiesesKommandowürdealleFileseinesLaufwerksmitdenzugehörigen
  562. Verzeichnisnamenausgeben.
  563.  
  564. ♪③find*.prg
  565.  
  566. DieserBefehlgibtallePRG-Filesaus,diesichaufdemaktuellen
  567. Laufwerkbefinden.
  568.  
  569. ♪②ê->flags
  570. ÇAusgabediverserProgrammflags.DieseFlagswerdenspäter,bzw.immer
  571. beidenBefehlenfürdiesierelevantsind,nocheingehenderbespro⑨
  572. chen.
  573. ♪ZuordnungderKommandos:
  574.  
  575.      "Errorbreak"                  Befehl:üerrorbreak
  576. Ç     "History"                     Befehl:üsrhist
  577. Ç     "ß=Beta"                    Befehl:üsz
  578. Ç     "Patchchange"                Befehl:üpchange
  579. Ç     "Showbatchcommands"         Befehl:ütextÇ/ünotext
  580. Ç     "Savehistory"                Befehl:üsavehist
  581. Ç     "Printtitle"                 Befehl:üsrtitle
  582. Ç     "ExpandTAB"                  Befehl:üsrtab
  583. Ç     "Convertslash"               Befehl:üslash
  584. Ç     "Linenumbers"                Befehl:ünumbers
  585. Ç
  586. BeidiesenFlagswirddurchäonÇ/äoffÇangezeigt,obdieFunktiondes
  587. entsprechendenBefehlsaktiviertistodernicht.
  588.  
  589. ♪⑧DiefolgendeAuflistungzeigtdieVerbindungvonKommandos,dieSetUp
  590. FunktionhabenundihreRepresentationinderFlag-Liste:
  591.  
  592.      "TAB"                         Befehl:üsettab
  593. Ç     "Linesperpage"              Befehl:ülppage
  594. Ç     "Margin"                      Befehl:ülpmargin
  595. Ç     "Startpage"                  Befehl:üpage
  596. Ç     "start:"                      Befehl:üsetlp
  597. Ç     "stop:"                      Befehl:üresetlp
  598. Ç
  599. ♪②ê->free
  600. ÇGibtdennochverfügbarenRAM-Speicherplatzaus.
  601.  
  602. ♪³ê->head<file(s))
  603. ÇDieserBefehlgibtdieerstenzehnZeilender/desangegebenenASCII-
  604. Filesaus.DamitkannmansichaufrechteinfacheWeiseeinenÜberblick
  605. überbestimmteFileinhalteverschaffen.
  606. ♪⑤BEISPIEL:
  607.  
  608. head*.c
  609.  
  610. AusgabedererstenzehnZeilenaller'c'-Dateiendiesichimaktuellen
  611. Ordnerbefinden.
  612.  
  613. ♪③heade:/subdir/datei.txt
  614.  
  615. AusgabedererstenzehnZeilenvonDatei'datei.txt',diesichim
  616. Ordner'subdir'aufLaufwerkEbefindet.
  617.  
  618. ♪②ê->help[command(s)]
  619. ÇWirddieserBefehlohneArgument(e)eingegebeodereinfachdieüHELPÇ-
  620. Tastegedrückt,erfolgteineAuflistungallerverfügbarenKommandos.
  621. DieseAuflistungist(leider)nichtalphabetischgeordnet,sondern
  622. entsprichtderReihenfolgeinderneueBefehledemProgrammhinzugefügt
  623. wordensind.DasistzwarnichtbesondersschönaberzumVerschaffen
  624. eineskurzenÜberblicksdürfteeswohlgenügenunddieprogrammtech⑨
  625. nischenÄnderungenzumAusgebeneinergeordnetenListe,stehtwohlin
  626. keinemsinnvollenVerhältniszumNutzen.
  627. WirdallerdingseinArgument(odermehrere)angegeben,soerfolgtdie
  628. AusgabeeinerKurzbeschreibung.
  629. DieseBeschreibungenbefindensichinderDateiêcommand.hlpÇ,diesich
  630. immerindemVerzeichnisbefindenmuß,vondemausderKommandoin⑨
  631. terpreteraufgerufenwurde.
  632. ♪⑤BEISPIEL:
  633.  
  634. helpdirrm
  635.  
  636. EswerdendieKurzbeschreibungenzudenKommandosüdirÇundürmÇausgege⑨
  637. ben.
  638.  
  639. ♪②ê->hide<file>
  640. ÇWollttemaneinenFilesokennzeichnen,daßeraufdemDesktopnicht
  641. mehrerschien,konntediesinälterenInterpreterversionenmitdiesem
  642. Befehlbewerkstelligtwerden.DiesesKommandogibtesünichtÇmehr!
  643. MöchtejemandtrotzdemDateienverstecken,kannerdiesunterVerwen⑨
  644. dungvonüchmodÇtun.EsmußbeidenDateienBit1(dezimal=2)gesetzt
  645. sein,umeineühideÇ-Kennzeichnungzuerreichen,bzw.mußdiesesBitbei
  646. normalsichtbarenDateiengelöschtsein.DasganzemitdemVerstecken
  647. funktioniertallerdingsnur,wennwirklichnurdieseseineBitgesetzt
  648. Çist!
  649. UmeineDateientsprechendzukennzeichnen,mußmanalsoinZukunft
  650. "chmod<datei>2"verwenden.
  651. IchhabediesesKommandoentfernt,daeseinigeLeutegab,dielieber
  652. einkürzeresProgrammhabenwolltenunddafürauf,zugegebenermaßen,
  653. überflüssigeBefehlezuverzichtenbereitwaren.
  654.  
  655. ♪②ê->inverse
  656. ÇDieBildschirmdarstellungwirdinvertiert,d.h.warvorEingabedes
  657. BefehlsdienormaleDarstellung,alsoschwarzaufweiß,aktiv,soist
  658. dieDarstellungnunweißeSchriftaufschwarzemGrund.Wardie
  659. Darstellungweißaufschwarz,wirdwiederaufdienormaleEinstellung
  660. umgeschaltet.
  661. EsgibteinigeProgramme,diefüreineInvertierungderBildschirmdar⑨
  662. stellungsorgenohnedenOriginalzustandwiederherzustellen.Dieses
  663. MankowirddurchüinverseÇaufgehoben.
  664.  
  665. ♪②ê->keyboard
  666. ÇAusgabederKommandos,diezumEditierenderEingabezurVerfügung
  667. stehen.
  668.  
  669. ♪③ê->keys
  670. ÇDieserBefehlsorgtfüreineAuflistungderFunktionstastenbelegungen
  671. (vgl.üdefkeyÇ).
  672.  
  673. ♪②ê->lock
  674. ÇMöchtemandenRechnereineWeileangeschaltetstehenlassen,aber
  675. gleichzeitigSorgedafürtragen,daßihnkeinandererbenutzt,sokann
  676. diesmitülockÇgemachtwerden.
  677. NachEingabedesKommandoswirdderBenutzeraufgefordert,einPasswort
  678. einzugeben.ZurBestätigungmußdieseEingabewiederholtwerden.Wares
  679. jedesmaldasgleicheWort,meldetderRechner,daßerabgeschlossen
  680. (êlockedÇ)ist.Willmannunweiterarbeiten,mußeinfacherneutdas
  681. Passworteingegebenwerden.Istesfalsch,erfolgtkeineReaktion,
  682. sonsterscheintwiederdernormalePrompt.
  683. EinKnackendesSchutzeskannübrigensdurchdieüRESETÇ-Tasteoderdurch
  684. einfachesAus-/Einschaltenerfolgen(klar,oder?).
  685.  
  686. ♪③ê->lp<file(s)>
  687. Ç(kompletterName:älineprinterÇ)
  688. SolleineASCII-Datei(odermehrere)aufeinemDruckerausgegeben
  689. werden,geschiehtdiesdurchdiesesKommando.HatmaneinenDrucker⑨
  690. spoolerinBetrieb,istdaseinerechtnetteAngelegenheit.
  691. AußerdemgibtesbeiVerwendungvonülpÇkeineProblememitTAB-Zeichen,
  692. dasiekorrektexpandiertwerden(wenngewünscht).Esistaußerdem
  693. möglich,eineTitelseiteauszugebenundvordemeigentlichenAusdruck
  694. ÇundnachdessenAbschluß,eineSteuersequenzandenDruckerzuschicken
  695. (vgl.auchüsettabÇ,üsrtitleÇ,üsetlpÇundüresetlpÇ).
  696. EinStoppendesDruckvorgangskannjederzeitmitü^ZÇausgelöstwerden!
  697. ♪⑤BEISPIEL:
  698.  
  699. lpcommand.txt
  700.  
  701. AusdruckderDatei'command.txt'.
  702.  
  703. ♪③ê->lpmargin[intvalue]
  704. Ç(kompletterName:älineprintermarginÇ)
  705. AnzahlderBlanks,diebeieinemAusdruckvordereigentlichenZeile
  706. kommen.FehltdasArgument,istdieseFunktionausgeschaltet.
  707.  
  708. ♪③ê->lppage[intvalue]
  709. Ç(kompletterName:älineprinterpageÇ)
  710. AnzahlderZeilenproSeitebeieinemAusdruck.WirdkeinArgument
  711. angegeben,istdieseFunktionausgeschaltet.
  712. BeieingeschalteterFunktion,wirdjeweilsnachErreichenderZeilen⑨
  713. zahleinSeitenvorschubdurchgeführt.
  714.  
  715. ♪③ê->ls[filedeskriptor(en)]
  716. Ç(kompletterName:älistshortÇ)
  717. DieserBefehlisteineAbartvonüdirÇ.Dortwirdeineausführliche
  718. InformationsfolgezujedemFilemitausgegeben.Diesunterbleibtbei
  719. ülsÇ.HierwerdennurdieDatei-bzw.Ordnernamenaufgelistet.
  720.  
  721. ♪②ê->merge<fileA><fileB>
  722. ÇDiesesKommandowirdzurVerbindungvonzweiASCII-Filesbenutzt.Dabei
  723. wird'fileB'an'fileA'angehängt.'fileB'wirdênichtÇmodifiziert!
  724. 'fileA'und'fileB'dürfennichtdiegleicheDateidarstellen,d.h.der
  725. Befehl"mergecommand.txtcommand.txt"würdenichtfunktionieren!
  726.  
  727. ♪③ê->mkdir<dirname>
  728. Ç(kompletterName:ämakedirectoryÇ)
  729. DieserBefehlerzeugteinenneuenOrdner.Mansollteallerdingsnicht
  730. vergessen,daßnureinebestimmteVerzeichnistiefezulässigist.Auch
  731. das'40-Ordner-Problem'solltemanimAugebehalten.
  732. NachderGenerierungdesneuenVerzeichnisses,findetmandortbereits
  733. zweiEinträge,nämlich'..'und'.'.'.'stellteeinenVerweisaufden
  734. Ordnerdar,'..'isteinVerweisaufdasdarüberliegendeVerzeichnis
  735. (vglauch"cd..").
  736. ♪√ÇBEISPIEL:
  737.  
  738. mkdirschrott
  739.  
  740. EswirdimaktuellenDirectorydasneueUnterverzeichnis'schrott'
  741. eingerichtet.Mit"cdschrott"undüdirÇkannmananschauen,welche
  742. Dateiendabeierzeugtwordensind('.'und'..',welchesonst?).
  743.  
  744. ♪②ê->more<file(s)
  745. ÇÄhnlichdemücatÇ-KommandokönnenmitdiesemBefehleineodermehrere
  746. ASCII-DateiinhalteaufdenBildschirmausgegebenwerden.DerUnter⑨
  747. schiedzuücatÇliegtdarin,daßimmernureineBildschirmseiteausgege⑨
  748. benwird.DannwirdangehaltenundaufdasDrückenderüSPACEÇ-Tastebzw.
  749. vonRETURNgewartet.WirdüSPACEÇbetätigt,erfolgtdieAusgabeeiner
  750. neuenSeite,beiüRETURNÇwirdzeilenweisefortgefahren.
  751. DieAusgabekannjederzeitmitü^ZÇabgebrochenwerden.
  752. DasKommandoerlaubtdenZugriffaufDateien,diesichinanderen
  753. Ordnern/aufanderenLaufwerkenbefinden.
  754. ♪⑤BEISPIEL:
  755.  
  756. more*.pas
  757.  
  758. EswerdensämtlichePascalsourcefilesausgegeben(ichgehedabeidavon
  759. aus,daßdieExtension'PAS'sichaufPASCALbezieht).
  760.  
  761. ♪③morec:/duplikat/com.c
  762.  
  763. AusgabedesFiles'com.c'dersichaufLaufwerkCimVerzeichnis
  764. '/duplikat/'befindet.
  765.  
  766. ♪②ê->mouseoff
  767. ÇDerSinndiesesunddesnächstenBefehlsmagaufdenerstenBlicknicht
  768. einleuchten,aberessteckttrotzdemeinerdahinter.
  769. DasKommandoschaltetdenMauszeigeraus.NormalerweiseistimInter⑨
  770. preterdieserZeigersowiesonichtsichtbar.EsgibtaberProgramme,
  771. diediesenZeigersehrwohlbenutzen,undhängtsichnunsolchein
  772. Programmauf,kannesunterUmständenzueinemherrlichenDurcheinander
  773. mitderMauskommen.
  774. Wirdz.B.einProgrammmitderExtensionPRGaufgerufen,schaltetder
  775. InterpreterautomatischdenMauszeigervordemProgrammaufrufein.
  776. SchaltetdiesesProgrammnundiesenZeigerwiederausundihnauchbei
  777. erreichendesProgrammendesnichtwiederein(wieesgentlemanlike
  778. wäre),sogibtesProbleme,daderInterpreternachdemLaufdes
  779. ProgrammsdenZeigerabschaltet,undzwarunabhängigdavon,oberein-
  780. oderausgeschaltetwar.
  781. Ichnehmemalan,daßdieProblematikbisjetztnochnichtsoganz
  782. Çeinleuchtet,schließlichwillmanja,daßderMauszeigerverschwindet.
  783. LeideristdasGEMabersoorganisiert,daßessichmerkt,wieoftder
  784. Zeigerausgeschaltetwordenist,d.h.wirderzweimalausgeschaltet,
  785. mußer,umwiedersichtbarzuwerden,auchwiederzweimaleingeschaltet
  786. werden.DerInterpreterhatnunaberkeineAhnung,wieoftderZeiger
  787. ausgeschaltetwurde.DerBenutzersolltenunselbstfüreineKorrektur
  788. desProblemssorgen.Diesistnotwendig,wennmitAnwendungengearbei⑨
  789. tetwird,diedenMauszeigerverwenden.Eskannsonstpassieren,daßin
  790. einemsolchenProgramm,indemdieMausgebrauchtwird(z.B.einGEM-
  791. Editor),keineauftaucht.EsmachtnichtvielSpaß,jetztwieein
  792. blindesHuhnherumzuirren,bismanwiederausdemProgrammrauskommt
  793. (wennmannichtliebergleichRESETdrückt).
  794. Mansolltealso,fallsdasangesprocheneProblemaufgetauchtist,
  795. solangedenMauszeigeranschalten(ümouseonÇ),biserwiedersichtbar
  796. ist.DanngibtmaneinmalümouseoffÇeinunddieWeltistwiederin
  797. Ordnung.NormalerweisereichtesübrigenszweimalümouseonÇeinzugeben.
  798. DerAufwandbleibtalsoineinemvertretbarenRahmen.
  799.  
  800.  
  801. ♪②ê->mouseon
  802. ÇDieserBefehlschaltetdenMauszeigerein.
  803. ê
  804. ♪③->mv<fileA><fileB>
  805. Ç(kompletterName:ämoveÇ)
  806. ZumUmbenenneneinesFileswirddiesesKommandozurVerfügunggestellt.
  807. Aus'fileA'wird'fileB'.
  808. ümvÇkannmit'*'benutztwerden.Mansollteallerdingseinbißchen
  809. aufpassen,dadieMöglichkeitenzumUnsinnanstellennichtzuverachten
  810. sind.
  811. ♪⑤BEISPIEL:
  812.  
  813. mvoldie.daturoldie.dat
  814.  
  815. DerFile'oldie.dat'wirdindenFile'uroldie.dat'umbenannt.
  816.  
  817. ♪②ê->numbers
  818. ÇSchalteteinFlagein/aus,dasbestimmt,obbeieinemAusdruck
  819. Zeilennummernausgegebenwerden.
  820. üflagsÇkannzurÜberprüfungderaktuellenEinstellungbenutztwerden.
  821.  
  822. ♪③ê->od<file(s)>
  823. Ç(kompletterName:äoutdumpÇ)
  824. MöchtesichderBenutzerbestimmteDateieninhexadezimalerSchreib⑨
  825. weiseanschauen,sokannerdiesmitHilfediesesKommandostun.
  826. Der/dieFile(s)werdenseitenweiseaufdemBildschirmausgegeben.Ein
  827. AbbruchkanndurchDrückenvonü^ZÇerfolgen.
  828. ÇDerBefehlistsoausgelegt,daßauchaufandereLaufwerkebzw.
  829. Unterverzeichnissezugegriffenwerdenkann.
  830. ♪⑤BEISPIEL:
  831.  
  832. odcommand.txt
  833.  
  834. GibtdieDatei'command.txt'hexadezimalaus.
  835.  
  836. ♪③od/megamax/headers/*.h
  837.  
  838. HexadezimaleAusgabealler'.h'-DateiendiesichimVerzeichnis
  839. '/megamax/headers/'befinden.
  840.  
  841. ♪②ê->page[intvalue]
  842. ÇIstdieseFunktioneingeschaltet,wirdamSeitenanfangbeieinem
  843. AusdruckderFilenameunddieaktuelleSeitennummerausgegeben.Das
  844. ArgumentgibtdieStartseitennummeran.BeifehlendemArgumentistdie
  845. Funktionausgeschaltet.
  846.  
  847. ♪②ê->path<pfad(e)>
  848. ÇAngabeeinesPfades,derzumAuffindeneinesProgrammesdurchsucht
  849. werdensoll.EskönnenmaximalzwanzigPfadeangegebenwerden.
  850. Programmnamenmüssen,fallssienichtimaktuellenVerzeichniszu
  851. findensind,komplettangegebenwerden!Pfadnamenmüssendurch'/'
  852. (bzw.'\')abgegrenztsein.Diesgiltallerdingsauch,wennessichnur
  853. umLaufwerksnamenhandelt(z.B."patha:/c:/"),dannwirddort
  854. allerdingsnurimHauptverzeichnisgesucht.
  855. InvorhergehendenProgrammversionenerfolgtekeinSprungindiezu
  856. durchsuchendenOrdner.DiesesMankohabeichnunbeseitigt.Diesgilt
  857. allerdingsnurfürProgrammemitderExtensionê'.PRG'Ç!Ichsollte
  858. vielleichtdenGrundfürdieseEinschränkungnennen:
  859. IchbenutzeeinenbestimmtenOrdnerzurAufbewahrungvonTool-Program⑨
  860. men,diemehroderwenigerdieEndungen'.TTP'haben.Nehmeichnun
  861. diesenOrdnerindiezudurchsuchendenPfadeauf,wirdzwarbei
  862. AuffindendesProgrammsindenOrdnergesprungen,aberdieArgumente
  863. (inderHauptsacheFiles)befindensichhaltnichtdort,alsofunktio⑨
  864. niertdasganzenicht.DadiemeistenBenutzerGEM-Anwendungenam
  865. laufenhaben,diez.B.'RSC'-DateiennachladenunddiedieEndung
  866. '.PRG'besitzen,dürftemanmitderEinschränkunglebenkönnen.
  867. SelbstverständlichkanndieserautomatischeSprungindenzudurchsu⑨
  868. chendenOrdnerauchabgeschaltetwerden(vgl.üpchangeÇ).DasKommando
  869. verhältsichdannwieindenälterenInterpreterversionen.
  870. Außerdemistesjetztauchmöglich,wieimHauptverzeichnis,nurnoch
  871. TeilstringszumStarteneinesProgrammeseinzugeben.FürdieEindeutig⑨
  872. keitdesAufrufsmußallerdingsderBenutzerselbersorgen!
  873. Mansolltvielleichtauchnochbeachten,daßmitderAnzahlderzu
  874. ÇdurchsuchendenVerzeichnisseauchdieZeitbiszurAuffindungbzw.bis
  875. zurMeldung,daßeinProgrammnichtgefundenwerdenkann,steigt!
  876. DieSuchenacheinemProgrammgeschiehtinfolgenderReihenfolge:
  877.  
  878.      1.wennALIAS-Eintrag,dannUmwandlung
  879.      2.wennmitPfadangabe,dannAusführung
  880.      3.wenninaktuellemVerzeichnis,dannAusführung
  881.      4.diemitüpathÇfestgelegtenWegeabsuchenundggf.Ausführung
  882. eswirddabeidieArgumentfolgeinReiheabgesucht!
  883.  
  884. DieBedeutungvonALIASwirdineinemextraAbschnitterläutert!
  885. DaichkeinrechtesVertrauenindieFähigkeitendesTOShabe,
  886. existiertbeimWechselnderPfadeeinKontrollmechanismus,derbei
  887. einemfehlerhaftenOrdneransprungeineWarnungausgibt.Diessollte
  888. eigentlichniederFallsein,abermansollnieniesagenwasdasTOS
  889. betrifft.
  890. ♪⑤BEISPIEL:
  891.  
  892. path/erste/a:/c:/oben/unten/
  893.  
  894. EinexternesProgrammwürdeindiesemFallerstimaktuellenVerzeich⑨
  895. nisgesuchtwerden.Kannesdortnichtgefundenwerden,wirdversucht,
  896. esimOrdner'/erste/'zufinden.Istesauchdortnichtvorhanden,
  897. wirdzumHauptverzeichnisaufLaufwerkAgegangen.Beieinemweiteren
  898. FehlschlagwirdnunnochaufLaufwerkCimDirectory'/oben/unten/'
  899. gesucht.
  900.  
  901. ♪③path
  902.  
  903. OhneArgumentewirdnurdereingestellteSuchpfadausgegeben.
  904.  
  905. ♪③ê->pchange
  906. Ç(kompletterName:äpathchangeÇ)
  907. SchaltetdenPfadwechseldesüpathÇ-Kommandosein/aus.MitüflagsÇkanndie
  908. aktuelleStellungüberprüftwerden.VoreingestelltistdasWechselnder
  909. Directories.
  910.  
  911. ♪③ê->pwd
  912. Ç(kompletterName:äprintworkingdirectoryÇ)
  913. DieserBefehlzeigtdenaktuellenPfadan,indemmansichgerade
  914. befindet.
  915.  
  916. ♪②ê->reset
  917. ÇDerRechnerführteinenResetaus.
  918.  
  919. ♪²ê->resetlp[intvalue(s)]
  920. Ç(kompletterName:äresetlineprinterÇ)
  921. DieserBefehlwurdebereitsbeimülpÇ-Kommandoerwähnt.WirdülpÇzum
  922. AusdruckvonDateienbenutzt,wirdvorodernachdemeigentlichen
  923. DruckvorgangeineSteuersequenzandenDruckergeschickt(z.B.Schrift⑨
  924. größeodereinInitialisierungskommando).
  925. üresetlpÇistnunfürdieSequenzzuständig,dienachdemAusdruckanden
  926. Druckergeschicktwird.MöchtederBenutzer,daßkeinesolcheFolge
  927. geschicktwird(Defaulteinstellung),mußereinfachüresetlpÇeingeben.
  928. MitüflagsÇkannmansichdieaktuellgültigeSteuersequenzanschauen.
  929. ♪⑤BEISPIEL:
  930.  
  931. resetlp122864
  932.  
  933. DieseSequenzsorgtnachAbschlußeinesAusdrucksfüreinenSeiten⑨
  934. vorschubundderUmschaltungaufdieGrundeinstellungeinesNEC-P6-
  935. Druckers.
  936.  
  937. ♪③ê->rm<file(s)>
  938. Ç(kompletterName:äremoveÇ)
  939. ZumLöschenvonDateienfindetdieserBefehlVerwendung.Eskönnen
  940. damitsowohlganzeFilegruppenalsauchnurbestimmteEinzeldateien
  941. entferntwerden(VerwendungvonäWildcartsÇistmöglich).
  942. MansolltebeiBenutzungdesKommandoseinbißchenaufpassen,sonst
  943. löschtmanDateien,diemaneigentlichnochbraucht.
  944. DieserBefehlerlaubtdenZugriffaufandereVerzeichnisseundLauf⑨
  945. werke.
  946. Eskannvorkommen,daßFilesvordemLöschengeschütztsind(Attribut:
  947. ênurlesbar)Ç.DerBefehlistnichtinderLage,solcheDateienzu
  948. entfernen(vgl.auchüsaveÇundüunsaveÇ)!
  949. ♪⑤BEISPIEL:
  950.  
  951. rm*.*
  952.  
  953. HierwerdenalleFilesgelöscht.
  954.  
  955. ♪③rm*.prgcommand.txt
  956.  
  957. HierwerdenerstallePRG-Dateienentfernt,imAnschlußdaranderFile
  958. 'command.txt'.
  959.  
  960. ♪③rmc:/copy/c_files/
  961.  
  962. AufLaufwerkCwerdenalleDateienimUnterverzeichnis'/copy/c_files/'
  963. gelöscht.
  964.  
  965. ♪²ê->rmdir<dirname>
  966. Ç(kompletterName:äremovedirectoryÇ)
  967. Eskannvorkommen,daßOrdnerentferntwerdensollen.Dergeeignete
  968. BefehlfindetsichinürmdirÇ.DerzulöschendeOrdnermußallerdings
  969. leersein!
  970. ♪⑤BEISPIEL:
  971.  
  972. rmdirschrott
  973.  
  974. DieseEingabebewirkteinEntfernenvonDirectory'schrott'.
  975.  
  976. ♪③ê->save<file(s)>
  977. ÇFiles,aufdiedieserBefehlangewandtwird,sindnurnochlesbar.
  978. RückgängiggemachtwerdenkanndiesesKommandomitüunsaveÇ.
  979. Mansolltebeachten,daßesProgrammegibt,dieaufsolchermaßen
  980. geschützteDateienmitdemfrohenWerfenvonBombenreagieren.Esmuß
  981. alsovorVerwendungsolcherProgrammeüunsaveÇbenutztwerden!
  982.  
  983. ♪③ê->savehist
  984. Ç(kompletterName:äsavehistoryÇ)
  985. PerDefaulteinstellungwirdbeimVerlassendesInterpreterseinFile
  986. êhistory.datÇangelegt,indemsichdiezuletztgemachtenEingaben
  987. befinden.
  988. DieserBefehlbewirktnuneinEin-/AusschaltendieserAbspeicherfunk⑨
  989. tion.
  990. MitüflagsÇkannbestimmtwerden,obsiegeradeeingeschaltetistund
  991. kanndann,jenachBenutzerwunsch,umgeschaltetwerden(toggle-Funk⑨
  992. tion).
  993.  
  994. ♪③ê->setlp[intvalue(s)]
  995. Ç(kompletterName:äsetlineprinterÇ)
  996. DieanalogeFunktionzuüresetlpÇfindetsichindiesemBefehl.Diehier
  997. angebbareSteuersequenzwirdvordemeigentlichenAusdruckanden
  998. Druckergeschickt.Sollnichtsgeschicktwerden(default),isteinfach
  999. wiederüsetlpÇeinzugeben.
  1000. MitüflagsÇkanndiegültigeSteuersequenzangeschautwerden.
  1001.  
  1002. ♪③ê->settab<intvalue>
  1003. Ç(kompletterName:äsettabulatorÇ)
  1004. EineweitereFunktion,diedenAusdrucksteuert,wirddurchdieses
  1005. Kommandoabgedeckt.DerBenutzeristhiermitinderLage,dieTabula⑨
  1006. torweitezubestimmen(defaultmäßigauf8Zeichen).DieminimaleWeite
  1007. liegtbeizweiZeichen!
  1008. üsettabÇbeeinflußtübrigensnichtnurDruckerausgaben.AuchAusgabenviaü
  1009. catÇoderümoreÇbenutzendieeingestellteTabulatorweite!
  1010. DieserBefehlhatbeiListingsnatürlichnureineBedeutung,wenndas
  1011. ÇTabulatorflag,daßangibtobTABoderdieentsprechendeAnzahlBlamks
  1012. gesendetwird,gesetztist.
  1013. üflagsÇzeigtdieaktuelleTabulatorweitean.
  1014.  
  1015. ♪②ê->slash
  1016. ÇNormalerweisekannmanstatt'\'auch'/'benutzen(z.B.beiücdÇ).Es
  1017. gibtaberexterneProgramme,diemitArgumentengefüttertwerden
  1018. können,dieein'/'enthalten.DaderInterpreter'/'inein'\'
  1019. umwandelt,kanneshierzuProblemenkommen.MitüslashÇkanndiese
  1020. Konvertierungein-bzw.ausgeschaltetwerden.
  1021. MitüflagsÇkannderaktuelleZustandangeschautwerden.
  1022. ê
  1023. ♪③->srhist
  1024. Ç(kompletterName:äset/resethistoryÇ)
  1025. NormalerweisewerdendieletztenfünfzigEingabenineinerHistoryta⑨
  1026. bellegehalten.DamitistderBenutzerinderLage,aufeinfacheWeise,
  1027. aufdieseKommandosBezugzunehmen(s.u.).
  1028. UmdieseEintragungenein-/auszuschalten,kanndieserBefehlbenutzt
  1029. werden.
  1030. MitüflagsÇkannderaktuelleStanddesentsprechendenFlagsangeschaut
  1031. werden.üsrhistÇerzeugtdanndieentgegengesetzteStellung.
  1032. FindenkeineEintragungenindieHistorytabellestatt,erscheintder
  1033. Eingabezählerinvers.
  1034. ê
  1035. ♪③->srtab
  1036. Ç(kompletterName:äresettabulatorÇ)
  1037. Normalerweise(default)sendetderBefehlülpÇkeineTAB-Zeichenanden
  1038. Drucker,sondernexpandiertdieseZeichenkorrektundschicktdie
  1039. entsprechendeAnzahlBlanks.DieserBefehlkannnunzumSet⑨
  1040. zen/RücksetzendieserFähigkeitbenutztwerden.
  1041. MitüflagsÇkanndieaktuelleEinstellungüberprüftwerden.
  1042.  
  1043. ♪③ê->srtitle
  1044. Ç(kompletterName:äset/resettitleÇ)
  1045. NunzumvorletztenBefehl,mitdemeinDruckerlistingbeeinflußtwerden
  1046. kann.DefaultmäßigwirdvorjedemAusdruckeinTitelblatterzeugt,auf
  1047. demderFilenamensteht.Istdiesjedochnichtgewünscht,kannmit
  1048. üsrtitleÇdieseMöglichkeitabgeschaltet(oderauchwiedereingeschaltet)
  1049. werden.
  1050. MitüflagsÇkannmalwiederderaktuelleZustanddesentsprechendenFlags
  1051. angeschautwerden.
  1052.  
  1053. ♪②ê->string<filedescriptor><string>
  1054. ÇDieserBefehldientdemAbsuchenvonDateiennacheinerbestimmten
  1055. Zeichenfolge.EskanndabeisowohlnureineDateialsauchmehrere
  1056. angesprochenwerden(über'*').DerSuchstringmußzwischenzwei
  1057. ÇgleicheZeicheneingeschlossensein!DerBefehlbeziehtsichimmerauf
  1058. dasaktuelleVerzeichnis.
  1059. DiemaximaleLängeeinessolchenStringsbeträgtêzwanzigÇZeichen.
  1060. Überschreiteterdiese,erfolgteineKürzungaufdieseZeichenlänge!
  1061. ♪③BEISPIEL:
  1062.  
  1063. string*.*/Ohsolemio/
  1064.  
  1065. EswerdenalleDateiendesaktuellenOrdnersnachdemString'Ohsole
  1066. mio'abgesucht.WirdderStringineinemFilegefunden,wirdeine
  1067. entsprechendeMeldungausgegeben.
  1068.  
  1069. ♪③stringcommand.txt*Bingo*
  1070.  
  1071. IndiesemFallwirdderFile'command.txt'nachdemString'Bingo'
  1072. abgeklappert.
  1073. Mansieht,daßdieArgumentbegrenzungenvölligverschiedenseinkönnen,
  1074. imoberenBeispiel'/',imunteren'*'.Siemüssennurbeider
  1075. jeweiligenEingabeübereinstimmen.Esverstehtsichwohlvonselbst,
  1076. daßdieseBegrenzungennichtimeigentlichenSuchstringenthaltensein
  1077. dürfen!
  1078.  
  1079. ♪②ê->sz
  1080. ÇDerletzteBefehlzurDruckersteuerung.ErentstandausdemMangel
  1081. meinesDruckers,einvernünftiges'ß'machenzukönnen.
  1082. IstdasentsprechendeFlaggesetzt,wirdeinfachderCodefüreinBeta
  1083. (225)geschickt,wennimTextein'ß'vorkommt.IstdasFlagnicht
  1084. gesetzt,wirddereigentliche'ß'-Codegeschickt(158).
  1085. MitüflagsÇkanndieFlagstellungüberprüftwerden.Defaultmäßigist
  1086. diesesFlagübrigensgesetzt,alsowirdBetageschickt!
  1087.  
  1088. ♪②ê->time[hh:mm]
  1089. ÇDasSetzenbzw.AbfragenderUhrzeitgeschiehtmitdiesemKommando.
  1090. WirdkeinArgumentangegeben,soerfolgteineAusgabederaktuellen
  1091. Systemzeit,sonstwirddasArgumentalsneueSystemzeitübernommen.Bei
  1092. derAusgabewerdenauchdieSekundenangegeben.BeimSetzendürfen
  1093. diesenichtangegebenwerden!
  1094. ♪⑤BEISPIEL:
  1095.  
  1096. time12:4
  1097.  
  1098. SetzenderUhrzeitauf12Uhr4Minuten.DieSekundenwerdenautoma⑨
  1099. tischaufNullgesetzt.
  1100.  
  1101. ♪②ê->tree
  1102. ÇAusgabeallerOrdnerundUnterordnereinesLaufwerks.
  1103. Ç
  1104. ♪②ê->unsave<file(s)>
  1105. ÇFiles,dienurlesbarsind,alsonichtgelöschtwerdenkönnen,werden
  1106. durchdiesesKommandoentschützt.DerumgekehrteBefehlistüsaveÇ.
  1107.  
  1108. ♪②ê->version
  1109. ÇDiesesKommandogibtdasErstellungsdatumaus.Esexistiertkeine
  1110. Versionsnummermehr!
  1111.  
  1112. ♪③ê->wc<file(s)>
  1113. Ç(kompletterName:äwordcountÇ)
  1114. InteressiertmansichfürdieAnzahlvonZiffern,ZeilenundZeichen
  1115. einesFiles,sofindetdieserBefehlVerwendung.Allesinallemkein
  1116. besonderswichtigesKommando.
  1117.  
  1118.  
  1119. ♪③ê3.1 BesondereBefehle
  1120. Ç
  1121. DiefolgendenvierBefehlediezumErzeugeneinesASCII-Filesbenutzt
  1122. werdenkonnten,gibtesênichtÇmehr:
  1123. ê
  1124. Ç          êopen<file>
  1125. Ç                    êwrite<string>
  1126. Ç               êappend<file>
  1127. Ç                    êclose
  1128. Ç
  1129. DiesstelltallerdingskeineEinschränkungbeidereinfachenKreierung
  1130. vonTextdateiendar.IchmöchtedenBenutzeraufdenAbschnitt,der
  1131. sichmitderêAusgabeumleitungÇbefaßt,verweisen.DieVerbindungdieser
  1132. MöglichkeitmitdemüechoÇ-BefehlerlaubtêsämtlicheÇAktionendervier
  1133. weggefallenenBefehle.
  1134. DerGrundfürdasStreichenderKommandoswarwiederderVersuch,den
  1135. InterpreteretwaskompakterzumachenundredundanteBefehle,dienur
  1136. einenunnötigenBallastdarstellen,zuentfernen.Ichglaube,daß
  1137. zumindestindiesemFallkeineEinschränkungfürdenBenutzergegeben
  1138. ist.
  1139.  
  1140.  
  1141. ♪②MöchtederBenutzerdasLaufwerkwechseln,kannerdazudenücdÇ-Befehl
  1142. benutzen,diesistabernichtunbedingtnotwendig.Esistauchmöglich,
  1143. diesenWechseleinfachdurchLaufwerkskennungundanschließendenDop⑨
  1144. pelpunktvorzunehmen.
  1145. ♪④BEISPIEL:
  1146. a:
  1147.  
  1148. WechselzuLaufwerkA.
  1149. Ç
  1150.  
  1151. ♪③ê3.2 Zahlkonvertierungen
  1152. Ç
  1153. Eskommtabundzuvor,daßZahlumrechnungenvorgenommenwerdenmüssen.
  1154. DerInterpreterstellthierdreiFunktionenzurVerfügung:
  1155.  
  1156. ♪②ê->#<decvalue>
  1157. ÇEingabeeinerDezimalzahlundderenUmrechnungindashexadezimaleund
  1158. oktaleÄquivalent.
  1159.  
  1160. ♪②ê->$<hexvalue>
  1161. ÇEingabeeinerhexadezimalenZahl.AlsResultatwerdendiedezimalenund
  1162. oktalenÄquivalenteausgegeben.
  1163.  
  1164. ♪②ê->\<octvalue>
  1165. ÇUndalsletztesdieUmrechnungfüroktaleZahlen.Mankannhier
  1166. übrigenseinProblemerkennen,daßeventuellauftritt,wennmit'\'ein
  1167. Programmaufgerufenwerdensoll.ImZweifelsfallmußmaneinfachnur
  1168. dieLaufwerksbezeichnungmitangegebenodermit'/'arbeiten.
  1169.  
  1170.  
  1171. ë4 DieALIAS-Einrichtung
  1172. Ç
  1173. ê4.1 Einführung
  1174. Ç
  1175. DerKommandointerpreterbietetdemBenutzerdieMöglichkeit,bestimmte
  1176. Befehleumzubenennen.WirdzumBeispielöfterseinspeziellesProgramm
  1177. aufgerufen,kanndieserAufrufumbenanntwerden.
  1178. SeidasProgramm'xcompiler.prg'immerwiederaufzurufen,kanndieses
  1179. Kommandoz.B.in'cc'umbenanntwerden(sinnigerweisegeheichin
  1180. diesemBeispieldavonaus,daßdieserominöse'xcompiler'einC-
  1181. Compilerist.'cc'wäresonsteinrechtverwirrenderName).Wirdein
  1182. EditoröfterszumEditiereneinesbestimmtenFilesaufgerufen(bei
  1183. einerProgrammerstellungpassiertdieseigentlichdauernd),kannder
  1184. normaleAufruf'editor.prgfile'einfachineinenkürzeren,z.B.
  1185. 'edit',umbenanntwerden.
  1186. SchreibfauleNaturenundLeute,diemitderNamensgebungderinternen
  1187. Kommandosnichtbesondersglücklichsind,könnendurchdiesenMechanis⑨
  1188. musihreeigeneNomenklaturaufbauen.
  1189.  
  1190. SämtlicheUmbenennungenkönnenimFileêalias.datÇabgelegtwerden.Diese
  1191. DateiwirdzumProgrammbeginnvonêcommand.prgÇeingelesen(soweit
  1192. vorhandennatürlich).Diesfunktioniertallerdingsnur,wennsichdiese
  1193. DateiimägleichenÇVerzeichniswiederInterpreterbefindet!
  1194. êalias.datÇwirdübrigensbeimVerlassenvonêcommand.prgÇnichtautoma⑨
  1195. tischabgespeichert(vgl.üsavealiasÇ).
  1196. DiealternativenKommandonamenkönnenalsosofortgenutztwerdenund
  1197. müssennichtzujederSitzungneueingegebenwerden!
  1198. Esistnatürlichmöglichganzohneêalias.datÇauszukommenunddie
  1199. ErzeugungderUmbenennungendurcheinenBatchfilevorzunehmen.Der
  1200. bequemereWegerscheintmitjedochdieVerwendungdieserDateizusein.
  1201.  
  1202. ♪④ê4.2 ALIAS-Befehlssatz
  1203. Ç
  1204. ê->alias[string(s)]
  1205. ÇAufzeigenalleraktuellgültigenUmbenennungenundihrerÄquivalente.
  1206. EsistauchdieselektiveAuswahleinesEintrags(bzw.mehrerer)
  1207. möglich.
  1208. ê
  1209. ♪③->delalias<name>
  1210. Ç(kompletterName:ädeletealiasÇ)
  1211. LöscheneinesAlias-EintragsausderAlias-Liste.
  1212.  
  1213. ♪②ê->getalias
  1214. ÇDerFileêalias.datÇwirdmitdiesemKommandoeingelesen.
  1215.  
  1216. ♪³ê->newalias<new><old>
  1217. ÇUmbenennungvon'old'in'new'.DieserBefehldientalsozurAlias-
  1218. Erzeugung.
  1219. NeueEinträgewerdenübrigensnichtandieAlias-Listeangehängt,
  1220. sondernstehenimmeranersterStelle(Zeit-undCodeersparnis).
  1221. ♪⑤BEISPIEL:
  1222.  
  1223. newaliasccxcompiler.prg
  1224.  
  1225. DieBeschreibungstehteigentlichschonindemobigenBlabla.Jede
  1226. Eingabevon'cc'wirdduch'xcompiler.prg'ersetzt.
  1227.  
  1228. ♪③newaliasalalias
  1229.  
  1230. StattaliasführtnunauchüalÇzumAufzeigenderAlias-Einträge.
  1231.  
  1232. ♪②ê->savealias
  1233. ÇAbspeicherndergültigenUmbenennungenimFileêalias.datÇ.Esmuß
  1234. beachtetwerden,daßdiesesAblegenderDateinichtautomatisch
  1235. erfolgt!
  1236. MankannsichübrigensmithilfeeinesBatchfileseineEnderoutine
  1237. schreiben,diemanzumVerlassendesInterpretersaufruftunddie
  1238. üsavealiasÇenthält.
  1239.  
  1240.  
  1241. ë5 DieHistory-Einrichtung
  1242.  
  1243. ê5.1 Einführung
  1244. Ç
  1245. EinweiteresBonbondesInterpretersistdieMöglichkeit,bereits
  1246. eingegebeneBefehleaufeinfacheWeiseerneutaufzurufen.Diesist
  1247. allerdingsaufdieletztenfünfzigEingabenbeschränkt.
  1248. UNIX-KennerndürftedieseEinrichtungundihreVorzügewohlhinlänglich
  1249. bekanntsein.
  1250. ♪⑤EineinfachesBeispielsolldiepraktischeAnwendungdieserFähigkeit
  1251. aufzeigen.ZumErstelleneinesProgrammsinC,PASCALu.s.w.sindimmer
  1252. diegleichenSchrittenotwendig:
  1253.  
  1254. Editieren->Compilieren->Linken->Probelauf
  1255.  
  1256. MeisterfolgtzwischenCompilierenundLinkennocheineKurzvisitebeim
  1257. Editor,weilhaltdochnocheinkleinesFehlerchenimSourcecode
  1258. aufgetauchtist.
  1259.  
  1260. ♪⑤DieKommandosfürdasBeispielseiennunfolgende:
  1261.  
  1262. 77>edbsp.pas
  1263.  
  1264. Bedeutung:AufrufdesEditorszurBearbeitungdesFiles'bsp.pas'.
  1265.  
  1266. ♪③78>pasbsp.pas
  1267.  
  1268. Bedeutung:AufrufdesCompilerszurObjektfileerzeugung.
  1269.  
  1270. ♪⑤SolltenjetztFehlermeldungenaufgetauchtsein,geht'swiederzurück
  1271. zumEditor.Alsowieder
  1272.  
  1273. 79>edbsp.pas
  1274.  
  1275. reinklopfenu.s.w.
  1276.  
  1277. Bevoresjetztweitergeht,sollteichvielleichtverraten,daßdie
  1278. ZahlenvordenBeispieleingabenvomInterpretergeliefertwerden.
  1279. DieserkleineHinweisistfürdasweitereVerständnisziemlichhilf⑨
  1280. reich!
  1281.  
  1282. ♪②DurchdieHistoryeinrichtunggenügtes,wennderBenutzerbeiBefehl79
  1283. ("edbsp.pas")einfachnur"!77"eingibt.EswirddannKommando77
  1284. erneutausgeführt.
  1285. EskannabernichtnurüberdieKommandonummernaufzurückliegende
  1286. EingabenBezuggenommenwerden;dieEingabe"!e"hätteauchzum
  1287. ÇWiederaufrufdesEditorsgeführt,d.h.eswirdbeidieserEingabenach
  1288. demletztenKommandogesucht,daßmitdemBuchstaben'e'begonnenhat,
  1289. und,fallsesgefundenwerdenkann,erfolgteinerneuterAufrufdesnun
  1290. expandiertenBefehls(hierwäredies"edbsp.pas").
  1291.  
  1292. DieMöglichkeit,alteKommandosüberdenAnfangsbuchstabenzurückzuho⑨
  1293. len,istnichtaufeinenBuchstabenbegrenzt.Eswirdnachdemletzten
  1294. Kommandogesucht,daßmitdemeingegebenenTeilstringübereinstimmt.
  1295. EinweiteresBeispielsolldasverdeutlichen:HatderBenutzerkürzlich
  1296. denBefehl"cpafilebfile"eingegebenundaufdiesenBefehlfolgend
  1297. dasKommando"cmpafilebfile",sowürdedurch"!c"derücmpÇ-Befehl
  1298. erneutaufgerufenwerden.DurchEingabevon"!cp"würdeaberein
  1299. eindeutigerBezugaufdenKopierbefehlgeschaffenunddieserausgeführt
  1300. werden.
  1301. Esistalsomöglich,durchbeliebiglangeTeileingabeneindeutige
  1302. ZuordnungenzuvorhergehendenBefehlenzubilden.Esseinocheinmal
  1303. daraufhingewiesen,daßsichinderHistory-Listenurdieletzten
  1304. fünfzigBefehlebefindenunddaßmannurdieseerneutdurchdie
  1305. History-Kommandosaufrufenkann.
  1306. JedeNeueingabewirdindieseListeeingetragen,dafürwirdderälteste
  1307. Eintragentfernt.NormalerweisemüßteaberderUmfangdergemerkten
  1308. Kommandosmehralsausreichendsein.
  1309. DasbishergesagtemöchteichmiteinemBeispielnochetwasanschauli⑨
  1310. ♪⑦chermachen:
  1311.  
  1312. ü120>cpafilebfile
  1313. 121>cmpafilebfile
  1314. 122>!c
  1315. 123>!cp
  1316. 124>!121
  1317. Ç
  1318. EswerdenwiederücpÇundücmpÇverwendet.DieKommandos120und121müßten
  1319. eigentlichklarsein.Kommando122ruftdasletzteKommandoauf,daß
  1320. mitdemBuchstaben'c'begannauf,indiesemFallücmpÇ.Kommando123
  1321. ruftdenletztenBefehlauf,dermitdenBuchstaben'cp'beginnt,und
  1322. dasistKommando120.Befehl124beziehtsichnunexplizitaufein
  1323. Kommando,denücmpÇ-Befehl.
  1324.  
  1325. ♪②Zusätzlichzudenü!Ç-KommandosgibtesnocheineweitereMöglichkeit,
  1326. aufalteEingabenzugreifenzukönnen:
  1327. WerschonaufeinerVAXunterVMSgearbeitethat,dürftemitder
  1328. VerwendungderüCURSOR-UPÇbzw.üCURSOR-DOWNÇ-TastenindiesemZusammenhang
  1329. vertrautsein.AuchdieserInterpretererlaubtesmitHilfedieser
  1330. Tasten,alteBefehlewiedersichtbarzumachen.Esistaußerdem
  1331. möglich,durchVerwendungderCursortastenundderbereitsamAnfang
  1332. erwähntenTasten,diesealtenKommandosfreizueditieren.
  1333. ÇVorhergehendeBefehlewerdenmitderüCURSOR-UPÇ-Tasteaufgerufen,ein
  1334. ZurückblätternwirddurchdieüCURSOR-DOWNÇ-Tastebewerkstelligt.
  1335.  
  1336.  
  1337. ♪⑤ê5.2 Dieë!ê-Befehle
  1338. Ç
  1339. ê->h
  1340. Ç(kompletterName:ähistoryÇ)
  1341. DieserBefehlgibtalleinderHistory-ListestehendenEinträgeaufden
  1342. Bildschirmaus(dieEingabevonühistoryÇbewirktdasgleiche).
  1343.  
  1344. ♪②ê->!<nr>
  1345. ÇHierwirddasKommandomitderNummer'nr'nocheinmalaufgerufen.
  1346. InVerbindungmitderfolgendenHistoryfunktion'ü!Ç<string>'mußan
  1347. dieserStelleleideraufeinenSchwachpunkthingewiesenwerden!Pro⑨
  1348. gramme,diemiteinemZiffernstringbeginnenunddienundurch
  1349. '!<ziffernstring>'erneutaufgerufenwerdensollen,kommenênichtÇzur
  1350. Ausführung(bzw.nurdann,wennzufälligerweisederZiffernstringmit
  1351. derKommandonummerübereinstimmt),d.h.ZahlendiesichaufKommando⑨
  1352. zeilenbeziehen,habenimmerVorrangvoranderenStrings!Dassollaber
  1353. nichtheißen,daßesunmöglichist,solchespeziellen'Ziffern'-
  1354. Eingabenzuwiederholen.NurmußmandannstatteinemAusrufezeichen
  1355. zweiverwenden!EinBeispielsolldieseProblematiketwasbeleuchten:
  1356. ü
  1357. 101>1.prg
  1358.                               102>!!1
  1359.                               103>!1
  1360.  
  1361. ÇKommando101rufteinProgramm'1.prg'auf,102wiederholtdiesen
  1362. Aufruf.Nummer103führtzueinerFehlermeldung,daderBefehlmitder
  1363. Nummer1nichtmehrinderHistorytabellevorhandenist.
  1364.  
  1365. ♪②ê->!<string>
  1366. ÇEssolldasletzteKommandogestartetwerden,daßmit'string'beginnt.
  1367. ManbeachtediebeimvorhergendenKommandoangesprocheneRestriktion
  1368. diesesBefehls!
  1369.  
  1370. ♪②ê->!!
  1371. ÇDieletzteEingabewirdwiederholt.
  1372. ÄltereVersionendesKommandointerpreterserlaubtenstattzweiAusrufe⑨
  1373. zeichenauchdieVerwendungvonnureinem.Diesführtnunzueiner
  1374. Fehlermeldung!
  1375.  
  1376.  
  1377. ë6 DasBatch-Processing
  1378. Ç
  1379. ê6.1 Einführung
  1380. Ç
  1381. IchwillnunaufdienächsteFähigkeitdesInterpreterseingehen,die
  1382. AbarbeitungvonBatchdateien.
  1383. LeiderwirddieseMöglichkeitauchaufSystemen,diedafürbereits
  1384. 'serienmäßig'eingerichtetsind,zuseltengenutzt.Liebergibtein
  1385. BenutzerimmerwiederdiegleicheBefehlsfolgeein,alssicheineDatei
  1386. zuerstellen,diedieseFolgeenthältunddieeinfachnuraufgerufen
  1387. werdenmuß.
  1388. IneinerBatchdateikannprinzipielljedesderbisherbesprochenen
  1389. Kommandosstehen.EsgibtnocheineganzeReiheweitererBefehle,die
  1390. denAblaufinnerhalbeinessolchenFilessteuern(z.B.Sprungmarken).
  1391.  
  1392. WirdineinemBatchfilevielgesprungen,bzw.findenSchleifendurch⑨
  1393. läufestatt,solltederFileineinerêRAM-DiskÇabgelegtundgestartet
  1394. werden.DasbringtzumeineneinengewissenZeitgewinnundnutztauf
  1395. deranderenSeitedieDiskettenichtsoab.Ichmöchteesnicht
  1396. unerwähntlassen,daßderInterpreterdenBatchfilenichtaufeinmal
  1397. einliestunddannabarbeitet,sondernKommandofürKommandoholt.
  1398. DadurchwirdetwasSpeichergespartunddieVerwaltungistumeiniges
  1399. einfacher.
  1400.  
  1401. DieAbarbeitungeinerBatchdateikannjederzeitdurchü^ZÇabgebrochen
  1402. werden!
  1403.  
  1404. BefehleeinesBatchfileswerdennichtindieHistory-Listeaufgenommen!
  1405.  
  1406. DieimFolgendenbeschriebenenBefehlekönnenzumTeilauchim
  1407. Direktmoduseingegebenwerden,diesistallerdingsbeieinigenKomman⑨
  1408. dosnichtsehrsinnvoll.
  1409.  
  1410. ♪②üWichtigeÄnderung:
  1411. ÇIndenälterenVersionendesInterpretersgabesdiefesteingebaute
  1412. VariableücounterÇ.SeitEinführungderVariablen,istdieseundalle
  1413. ihreFunktionennichtmehrnotwendig.UmdenProgrammcodezukürzen,
  1414. habeichdeshalbdieseVariableentfernt.BenutzervonücounterÇ-
  1415. Befehlen,üÇmüssendiesedurchentsprechendeVariablenkommandosersetzen!
  1416.  
  1417. ê
  1418. ♪④6.2 Befehlssatz
  1419. Ç
  1420. ê->batch<file>[arg0...arg9]
  1421. ÇAufrufeinerBatchdatei'file'.'arg0'bis'arg9'entsprechenStrings.
  1422. InnerhalbeinesBatchfileskönnenPlatzhaltergesetztwerden('$0'bis
  1423. Ç'$9').DiesewerdendurchdieStrings('arg0'bis'arg9')beieinem
  1424. AbarbeitendesBatchfilesersetzt.Dadurchwirderreicht,daßz.B.eine
  1425. Batchdatei,diedieCompilierungunddasLinkeneinesSourcefiles
  1426. zusammenfaßt,fürunterschiedlicheSourcefilesVerwendungfindenkann.
  1427. DieArgumentemüssenaufsteigendbei0beginnendeingesetztwerden,
  1428. d.h.jedes'$0'wirddurchdasersteStringargumentersetzt,jedes'$9'
  1429. würdedurchjedesneunteStringargumentersetztwerden.Esstehenalso
  1430. maximalzehnsolchePlatzhalterzurVerfügung.
  1431. WeiteruntenfolgeneinigeBeispiele,dieunteranderemdieVerwendung
  1432. dieserArgumentersetzungbeleuchtensollen.
  1433. FürfauleBenutzergibtesdieMöglichkeit,aufdieExtension'.COM'zu
  1434. verzichten,auchwenndieBatchdateidiesebesitzensollte.Kannder
  1435. InterpretereinenangegebenenBatchfilenichtfinden,versuchternoch
  1436. durchAnhängenvon'.COM'zumErfolgzukommen.Beispielsweisewürde
  1437. dieDatei'BSP.COM'durch"batchbsp"äÇunddurch"batchbsp.com"
  1438. aufgerufenwerden.IchmöchteandieserStellebetonen,daßein
  1439. BatchfiledurchauskeineExtensionhabenmuß.JedergültigeFilename
  1440. kannfüreineBatchdateiverwendetwerden!
  1441. Eskönnenmaximalê3ÇBatchfileszurgleichenZeitlaufen(sichgegensei⑨
  1442. tigaufrufen)!DieArgumentesindinjedemdieserdreimöglichen
  1443. Dateienunterschiedlich,d.h.besitztFileAdieBelegung'BEISPIEL'
  1444. für'$0'undruftdannFileBauf,soistdort'$0'unbesetzt,wenn
  1445. beimAufrufkeinArgumentêexplizitÇangegebenwordenist.
  1446.  
  1447. DasmitdenArgumentenmöchteichandieserStellenochaneinem
  1448. kleinenBeispielzuverdeutlichenversuchen.
  1449. Ichgehemaldavonaus,daßmansichinêcommand.prgÇbefindet.Die
  1450. folgendeEingabesequenzerzeugtnuneineBatchdatei'BSP.COM',die
  1451. nichtsanderesmacht,alszweiArgumentemitüechoÇauszugeben.Der
  1452. BenutzerkanndarandieWirkungderü$Ç-ErsetzungdurchEingabeparameter
  1453. erkennen(hoffentlich).
  1454.  
  1455. ♪⑥ü                         80>echo|bsp.com
  1456.                          81>echo||bsp.comecho$0$1
  1457.                          82>batchbsp.comarg1arg2
  1458.                          arg1arg2
  1459.                          83>
  1460. Ç
  1461. JenachdemmitwelchenArgumentendieseDateinunaufgerufenwird,
  1462. ändertsichdieAusgabe.Mansolltesichruhigauchmalanschauen,
  1463. welcheAusgabebeifehlenderArgumentangabekommtbzw.beiAngabevon
  1464. dreiodernochmehrParametern.
  1465.  
  1466. ♪②ê->@<file>[arg0...arg9]
  1467. ÇAnalogzubatch,nurdiesmalmitü@Ç.DiesesKommandoisteinfachnurfür
  1468. dieLiebhabervonVMSgedacht.
  1469. Ç
  1470. ♪②ê->?arg<argumentnummer><label>
  1471. ÇWurdeeinBatchfilemitdemArgumentversorgt,sowirdzu'label'
  1472. gesprungen(eine'$0'-Überprüfungwirdz.B.durch"?arg0ist_da"
  1473. repräsentiert).
  1474. ê
  1475. ♪②->?batch
  1476. ÇGibtdieAnzahldergeradelaufendenBatchdateienaus.Eskönnen,wie
  1477. bereitsangesprochen,maximaldreiBatchdateiengleichzeitigoffen
  1478. sein.
  1479.  
  1480. ♪②ê->restart
  1481. ÇBefehlinnerhalbeinerBatchdateizumNeustartderDatei,alsodie
  1482. ganzeChosewiedervonvorne,d.h.SprungzurerstenBefehlszeile.
  1483.  
  1484. ♪②ê->wait
  1485. ÇWartenaufdasDrückeneinerTaste.DieAbarbeitungeinesBatchfiles
  1486. wirdsolangeangehalten,biseineTastegedrücktwird.
  1487. WirdandieserStelleü^ZÇgedrückt,erfolgteinAbbruchderBatchbear⑨
  1488. beitung!
  1489. DiesesKommandokannz.B.dazuverwendetwerden,dieAbarbeitungeines
  1490. BatchfilessolangeanzuhaltenbiseinausgegebenerTextgelesenworden
  1491. ist.
  1492.  
  1493. ♪②ê->stop
  1494. ÇStoppeneinesBatchfiles.
  1495.  
  1496. ♪②ê->?stop
  1497. ÇBedingtesStoppeneinerBatchdatei.DerBenutzerwirdgefragt,obder
  1498. Batchfileangehaltenwerdensoll(dievoreingestellteAntwortist
  1499. übrigensêneinÇ).
  1500.  
  1501. ♪②ê->break
  1502. ÇEswerdenêsämtlicheÇlaufendenBatchfilesgestoppt,d.h.rufteine
  1503. Batchdateieineandereauf,inderdanndieserBefehlsteht,werden
  1504. beideFilebearbeitungenabgebrochen(imGegensatzzuüstopÇ).
  1505.  
  1506. ♪②ê->text
  1507. ÇJedesKommandoinnerhalbdesBatchfilessollaufdemBildschirm
  1508. angezeigtwerden.DieseEinstellungistdefault.
  1509. MitüflagsÇkanndieaktuelleEinstellungangeschautwerden.
  1510.  
  1511. ♪②ê->notext
  1512. ÇDieUmkehrungzuütextÇ.NachdiesemKommandowerdendieBatch-Dateikom⑨
  1513. mandosnichtmehrausgegeben.
  1514.  
  1515. ♪³ê->errorbreak
  1516. ÇNormalerweisewirdeineBatchbearbeitungabgebrochen,wenneinFehler
  1517. auftritt.DieskanndurchüerrorbreakÇein-bzw.ausgeschaltetwerden
  1518. (abhängigvondergeradeaktuellenEinstellung,diemitüflagsÇmal
  1519. wiederangeschautwerdenkann).
  1520.  
  1521. ♪③ê->lbl<marke>
  1522. Ç(kompletterName:älabelÇ)
  1523. EinführungeinerSprungmarkeineinemBatchfile.
  1524. DieseMarkenkönnenmitügotoÇundeinigenanderenBefehlenangesprungen
  1525. werden.
  1526. ZumAufbauvonSchleifeninBatchdateienmußmitdiesenAnprungmarken
  1527. gearbeitetwerden.
  1528. IneinerülblÇ-ZeiledürfensonstkeineBefehlestehen!Alsowärez.B.
  1529.  
  1530. lblbeispielechodiesisteinBeispiel
  1531.  
  1532. nichterlaubt(eskommenzweiKommandos,ülblÇundüechoÇ,vor).
  1533.  
  1534. ♪②ê->goto<marke>
  1535. ÇSprungzurangegebenenMarke(vgl.ülblÇ).
  1536.  
  1537. ♪②ê->exist<file><marke>
  1538. ÇEswirdgetestet,obdieDatei'file'existiert.IstdiesderFall,
  1539. wirdzu'marke'gesprungen,ansonstenwirdbeimnächstenBefehl
  1540. weitergemacht.
  1541. ♪⑤BEISPIEL:
  1542.  
  1543. existtest.prgpaletti
  1544.  
  1545. ExistiertderFile'test.prg'wirdzurMarke'paletti'gesprungen.
  1546.  
  1547. ♪②ê->size0<file><marke>
  1548. ÇExistiertdieDatei'file'nichtoderistihreGrößeNull,wirdzum
  1549. angegebenenLabel'marke'gesprungen,ansonstenauchwiederbeim
  1550. Folgebefehlweitergemacht(dieumgekehrteFunktionvonüexistÇ).
  1551.  
  1552. DieKommandosüsize0ÇundüexistÇsindganzpraktisch,wennesumdie
  1553. Compilierung/AssemblierungundLinkungvonSourcefilesgeht.Esgibt
  1554. z.B.Compiler,dieaufdasFehleneinesSourcefilesmiteinemBombenha⑨
  1555. gelreagieren.DiesesProblemkannmitdiesenBefehlenumgangenwerden.
  1556.  
  1557. ♪②ê->;[Kommentar]
  1558. ÇDurchü;ÇwerdenKommentarzeileneingeleitet,diekeinerleiBefehls⑨
  1559. funktionhabenundnurzumbesserenVerständniseinerBatchdatei
  1560. beitragensollen.
  1561. ü;ÇkannübrigensauchnacheinemBefehlstehen,allesvordemSemikolon
  1562. wirdausgeführt,allesdanachwirdignoriert.
  1563. DiesesmarkierenvonKommentarbereichenfunktioniertnurinBatchda⑨
  1564. teien,wirdimDirektmodusversuchteineKommentarzeileeinzugeben,so
  1565. wirddiesewieeinenormaleZeileaufgefaßt,d.h.esdürftewohlzu
  1566. einerFehlermeldungkommen.
  1567.  
  1568. ♪②ê->status
  1569. ÇAusgabeeinerVariablen,diezurSteuerunginnerhalbeinesBatchfiles
  1570. benutztwird.SiewirdvorjedemAblaufeinerBatchdateiaufNull
  1571. gesetzt.
  1572. WerdeninnerhalbdesFilesandereProgramme(z.B.Compiler)gestartet,
  1573. sowirdderenRückgabewertinüstatusÇabgelegt.Einfehlerhafter
  1574. CompilerlaufkannalsozumSprungzueinerbestimmtenMarkeoderzum
  1575. AusstiegausdemBatchfileführen.DerBenutzermußallerdingsdie
  1576. RückgabewertederProgrammeundihreBedeutungkennen.
  1577. EskommtdiesemSystemparameterabernocheineandereBedeutungzu.
  1578. JedeFehlermeldungdesInterpretershatineinerFehlernummer,die
  1579. dieseVariabledannenthält,ihrenNiederschlag.Damitlassensichin
  1580. BatchdateienbestimmteReaktionenaufeventuellaufgetreteneFehler
  1581. einbauen(inBASICwürdemanwohlvonäONERRORGOTOÇsprechen).
  1582. Ichmöchtenocheinmalhervorheben,daßderBenutzerêkeinenÇdirekten
  1583. EinflußaufdieBelegungvonüstatusÇnehmenkann!Siewirdnurbeim
  1584. StarteinesBatchfilesaufNullgesetzt,bzw.wenneinexternes
  1585. ProgrammdenRückgabewertNullliefert.Solltejemandmitdieser
  1586. Einschränkungnichtlebenkönnen,mußersichhalteinenBatchfile
  1587. schreiben,dernichtsmachtunddiesendannaufrufen;dasErgebnisist
  1588. danneinüstatusÇ-WertNull.
  1589. WirdnurderBefehlüstatusÇeingegeben,erfolgtdieAusgabedes
  1590. Variablenwertes.DamitlassensichalsoRückgabewertebestimmen.
  1591. üstatusÇisteinLonginteger(32-Bit).
  1592.  
  1593. ♪②ê->oldy<fileA><fileB><label>
  1594. ÇWenndasErstellungsdatumvon'fileA'vordemvon'fileB'liegt,wird
  1595. zu'label'gesprungen.
  1596. MitdiesemBefehlistesmöglich,eigeneMAKE-Umgebungenzuerstellen.
  1597. ImAnhangbefindetsicheinBeispiel,daßsichmitderVerwendung
  1598. diesesBefehlsauseinandersetzt.
  1599.  
  1600. ♪③ê->shiftarg
  1601. Ç(kompletterName:äshiftargumentÇ)
  1602. VerschiebtexistierendeArgumenteumeinePositionnachlinks.Das
  1603. ersteElementfälltdabeiheraus.
  1604. ExistierenkeineElemente,hatdiesesKommandokeineFunktion(es
  1605. erfolgtükeineÇFehlermeldung)!
  1606. Existierenz.B.diedreiArgumenteARG1,ARG2undARG3,dannwäreARG1
  1607. Ç$0zugeordnet,ARG2$1undARG3$2.üshiftargÇwürdenunARG1löschenund
  1608. diebeidenverbleibendenArgumenteumeinsnachlinksschieben,d.h.
  1609. ARG2wärenun$0zugeordnetundARG3$1.$2besitztkeinArgumentmehr.
  1610. MitdiesemBefehlkanninBatchdateienaufeinevariableAnzahlvon
  1611. Eingabeparameterneingegangenwerdenbzw.dieErstellungvonSchleifen
  1612. istflexiblergeworden.
  1613.  
  1614. ♪③ê->setarg<argument(e)>
  1615. Ç(kompletterName:äsetargumentÇ)
  1616. MitdiesemKommandolassensichü$Ç-Parameterbelegen.Dabeiwirdimmer
  1617. dererstefreieParameterbelegt.ÜbersteigtdieAnzahldabeizehn
  1618. Parameter,werdendieüberzähligenArgumenteignoriert.
  1619. Währe$0bereitsmitStringäXYZÇbelegt(z.B.durcheineParameterangabe
  1620. beimAufrufdesBatchfiles),würdederBefehl"setargabc"$1mitdem
  1621. StringäabcÇbelegen.
  1622.  
  1623. ♪②ê->inquire[string]
  1624. ÇDieserBefehlstelltdasinteraktiveÄquivalentzuüsetargÇdar.
  1625. StößtderKommandinterpreterineinemBatchfileaufdiesesKommando,
  1626. mußderBenutzereinodermehereArgumenteeingeben.Diesewerdendann
  1627. wiebeiüsetargÇaufdieü$Çsverteilt.
  1628. 'string'repräsentiertdenText,derdenBenutzerzurEingabeauffor⑨
  1629. dert.DieseAngabeistoptional.
  1630. BEISPIEL:
  1631. ü?arg0gibt_argument
  1632.                     inquireArgument
  1633. Ç                    ülblgibt_argument
  1634.                     echo$0
  1635.  
  1636. ÇDieseZeilensolleneinenBeispielbatchfiledarstellen.Wirddiesermit
  1637. einemArgumentaufgerufenerfolgteindirekterSprungzuüechoÇ,anson⑨
  1638. stenwirdderBenutzeraufgefordert,einArgumenteinzugeben.
  1639.  
  1640. ♪③ê->cleararg
  1641. Ç(kompletterName:äclearargumentÇ)
  1642. LöschtallevorhandenenParameterbelegungenfürü$Ç-Argumente.
  1643.  
  1644. ♪③ê->ifarg<string1><string2><label>
  1645. Ç(kompletterName:äifargumentÇ)
  1646. Wenn'string1'gleich'string2'ist,wirdzu'label'gesprungen.
  1647. DieserBefehlisthauptsächlichfürdieflexibleReaktionaufunter⑨
  1648. schiedlicheEingabeparameterinBatchdateiengedacht.
  1649.  
  1650. ♪②ê-><><intvalue>
  1651. ÇIstüstatusÇungleich'intvalue'(Integerzahl),wirdderBatchvorgang
  1652. abgebrochen(z.B.nacheinemfehlerhaftenCompilerdurchlauf).
  1653. Ç
  1654. ♪②ê-><<intvalue>
  1655. ÇIstüstatusÇkleinerals'intvalue'wirdderBatchfileabgebrochen.
  1656.  
  1657. ♪②ê->><intvalue>
  1658. ÇIstüstatusÇgrößerals'intvalue'wirdderBatchfileabgebrochen.
  1659.  
  1660. ♪②ê->==<intvalue>
  1661. ÇIstüstatusÇgleich'intvalue'wirdderBatchfileabgebrochen.
  1662.  
  1663. ♪⑤ê->?status=<zahl><label>
  1664. ->?status#<zahl><label>
  1665. ->?status><zahl><label>
  1666. ->?status<<zahl><label>
  1667. ÇIstüstatusÇgleich,ungleich,größeroderkleineralseinebestimmte
  1668. 'zahl'sollzurMarke'label'gesprungenwerden.
  1669. Damitkannz.B.nacheinemfehlerhaftenCompilerdurchgangdirektzu
  1670. einemEditoraufrufgesprungenwerden.
  1671. EsgibtaberauchnochandereinteressanteMöglichkeiten.Gibtz.B.ein
  1672. bestimmtesProgrammjenachinternemLaufbzw.ResultatandereParame⑨
  1673. ternachProgrammendezurück,kannmithilfevonüstatusÇeinBatchfile
  1674. aufgebautwerden,deraufdieseunterschiedlichenRückgabenindividuell
  1675. reagiert(z.B.Steuerungsaufgabenlassensichdamitrechtproblemlos
  1676. bewältigen).
  1677.  
  1678. ♪②SoweitdieetwasspeziellerenBatchfile-Kommandos,diedasArbeiten
  1679. mitdiesenDateienbesondersunterstützensollen.
  1680.  
  1681. BefindetsichimVerzeichnis,dasêcommand.prgÇenthält,dieDateiê
  1682. auto.comÇ,sowerdendiedarinenthaltenenBefehlebeimStartdes
  1683. Interpretersausgeführt.EslassensichaufdieseWeisez.B.Funktions⑨
  1684. tastenvorbelegenoderbestimmteFlagssetzen.
  1685.  
  1686.  
  1687. ♪≤ê6.3 Beispiele
  1688. Ç
  1689. ä6.3.1 Bsp.1
  1690. Ç
  1691. ü     ;
  1692.      ;BatchfilezurCompilierungundzumLinkeneinesC-Files
  1693.      ;durchdenMEGAMAX-C-Compiler
  1694.      ;
  1695.      mmcc.ttp$0.c           ;AufrufdesCompilers
  1696.     <>0                    ;Abbruch,wennFehleraufgetretenist
  1697.      mmlink.ttp$0.o-O$1   ;AufrufdesLinkers
  1698.     <>0                    ;AbbruchimFehlerfall
  1699.      rm$0.o                 ;LöschendesObjektfiles
  1700. Ç
  1701. DasvorliegendeBeispielkanndirektzurArbeitmitdemMEGAMAX-C-
  1702. Compiler(nichtLASER-C!)herangezogenwerden(ggf.mußmannatürlich
  1703. nochPfadnamenfürdasCompiler-undLinkerprogrammanfügen).
  1704.  
  1705. DieerstenvierZeilendienenlediglichderKommentierungderBatchda⑨
  1706. tei.InZeilefünfwirdderCompileraufgerufen.'$0'repräsentiertden
  1707. NamendesSourcefiles(EingabeohneExtension!).
  1708. DerCompilergibtbeieinemerfolgreichenDurchlaufeineNullzurück.
  1709. AndernfallssorgtZeilesechsfüreinenAbbruchderBatchbearbeitung.
  1710. NachderCompilierungsollderObjektfilegelinktwerden.Diesge⑨
  1711. schiehtinZeilesieben.SolltendortProblemeaufgetretensein,
  1712. erfolgtinZeileachteinAbbruch.
  1713. InZeileneunwirdderaufgetreteneObjektfilewiedergelöscht.In
  1714. ZeilesiebenwirdübrigenseinzweitesArgumentbenutzt.Diesesgibt
  1715. denNamendeslauffähigenProgrammsan(diesmalmitExtension).
  1716.  
  1717. ♪③EinAufrufdieserBatchdateikönntenunfolgendermaßenaussehen:
  1718.  
  1719. batchcccommandcommand.prg
  1720.  
  1721. ♪③äquivalentdazuwärederAufruf:
  1722.  
  1723. @cccommandcommand.prg
  1724.  
  1725. EswirdalsoderC-File'command.c'compiliertundgelinkt.Derdaraus
  1726. resultierendeFilesoll'command.prg'heißen.Derzwischenzeitlich
  1727. entstehendeFile'command.o'wirddurchdenürmÇ-Befehlgelöscht.
  1728. DieeigentlicheBatchdateiheißt'cc'.DieParameterangaben'$0'und
  1729. '$1'werdendurchdieArgumente'command'(für'$0')und'command.prg'
  1730. (für'$1')ersetzt.
  1731.  
  1732. DaszweiteBeispieldientdemgleichenZweck,nursolldiesmalimFalle
  1733. ÇeinesFehlerseinEditor('editor.prg'genannt)aufgerufenundnach
  1734. erfolgterEditierungwiederzumAnfangderBatchdateigesprungen
  1735. werden:
  1736.  
  1737. ♪ ä6.3.2 Bsp.2
  1738. Ç
  1739. ü     ;
  1740.      ;BatchfilezurCompilierungundzumLinkeneinesC-Files
  1741.      ;durchdenMEGAMAX-C-Compiler
  1742.      ;
  1743.      mmcc.ttp$0.c      ;AufrufdesCompilers
  1744.      ?status#0edit    ;SprungzumEditor,wennFehler
  1745.      mmlink.ttp$0.o-O$1;AufrufdesLinkers
  1746.      ?status#0edit    ;SprungzumEditor,wennFehler
  1747.      rm$0.o            ;LöschendesObjektfiles
  1748.     stop               ;StoppendesBatchfiles
  1749.      lbledit           ;Label'edit'
  1750.      wait               ;inallerRuheFehlermeldungenlesen
  1751.      editor.prg$0.c    ;Editoraufruf
  1752.      restart            ;NeustartdesBatchfiles
  1753. Ç
  1754. DieInterpretierungdiesesFilesdürftenachdenvorhergehendenAusfüh⑨
  1755. rungen,keineProblememehrbereiten.
  1756.  
  1757. ♪Φä6.3.3 Bsp.3
  1758. Ç
  1759. ü     ;
  1760.      ;BatchdateizurAssemblierungvonSourcefiles
  1761.      ;mitdemAssemblerausdemEntwicklungspaketvonDRI
  1762.      ;
  1763.      notext                       ;keinGeschwafel
  1764.      cls
  1765.      size0$0.sfehler            ;Sourcefilemußschondasein
  1766.      echo1.Assemblierung        ;ersterSchritt
  1767.      as68.ttp-l-u$0.s
  1768.      size0$0.ofehler            ;ErgebnisderAssemblierung
  1769.      echo2.Linken               ;zweiterSchritt
  1770.      echo$0.s==>$0.$1
  1771.      link68.ttp[u]$0.68k=$0.o ;Linkendes'o'-Files
  1772.      size0$0.68kfehler          ;wennkeinErgebnis->Fehler
  1773.      echo3.Relativlader
  1774.      relmod.ttp$0.68k$0.$1      ;Ergebnisbasteln
  1775.      rm$0.68k$0.o               ;überflüssigeFileslöschen
  1776.      echo
  1777.     stop
  1778.      lblfehler                   ;Fehlermelden
  1779.      echo!!!AbbruchwegenFehler!!!
  1780.      echo
  1781. Ç
  1782. MitdiesemFilekanndieAssemblierungvonFilesdurchdenAssembler
  1783. desEntwicklungspaketsautomatisiertwerden.DieseDateibenötigtzwei
  1784. Argumente,zumeinendenNamendesSourcefiles(ohne'.s'-Extension)
  1785. undzumanderendieExtensionderZieldatei,also'.PRG','.TOS',
  1786. '.ACC'oder'.TTP'.
  1787. ♪③Willmanz.B.denFile'test.s'assemblieren,könntederAufruf
  1788. folgendermaßenaussehen:
  1789.  
  1790. @astestprg
  1791.  
  1792. Eswirddabeiangenommen,daßdieBatchdatei'as'heißt.DerErgebnis⑨
  1793. filewürdehier'test.prg'heißen.
  1794.  
  1795.  
  1796. ë7 Variablen
  1797. Ç
  1798. DieletzteSteuermöglichkeiteinesBatchfileswirddurchdieEinführung
  1799. derbereitskurzangesprochenenVariablengeboten.
  1800. DerBenutzeristinderLage,Variablenzudefinierenundkannmit
  1801. dieseneinfacheRechnungendurchführen,Schleifenaufbauenoderdurch
  1802. SprunganweisungenbestimmteAbläufevonBatchdateienerzeugen.
  1803. Mansiehtvielleichthierschon,daßdieVariableninderHauptsache
  1804. zumeinfacherenArbeitenmitBatchdateienbeitragensollen.Vieleder
  1805. hieraufgeführtenKommandossindnurinsolchenDateiensinnvollund
  1806. zulässig!
  1807.  
  1808. êDieBefehleimeinzelnen('|'bedeutet"entwederoder"):
  1809. Ç
  1810. ♪②ê->let<var><zahl|varvalue>
  1811. ÇBelegenvon'var'mitdemWert'zahl'oder'value'
  1812. ♪⑤BEISPIEL:
  1813.  
  1814. letindex111
  1815.  
  1816. DieVariable'index'wirdmit111belegt.
  1817.  
  1818. letindex2index
  1819. ♪②
  1820. DieVariable'index2'wirdmitdemWertderVariablen'index'belegt.
  1821.  
  1822. ♪⑤ê->if<varA>=<varB|zahl><label>
  1823. ->if<varA><><varB|zahl><label>
  1824. ->if<varA>><varB|zahl><label>
  1825. ->if<varA><<varB|zahl><label>
  1826. ÇDamitkanninBatchfileseinfröhlichesHin-undHergespringeveran⑨
  1827. staltetwerden.DieBedeutungwirdwohldurchBeispieleameinfachsten
  1828. vermittelt:
  1829. ♪⑤BEISPIEL:
  1830.  
  1831. ifindex=22marke1
  1832.  
  1833. WenndieVariable'index'denWert22hat,sollzurMarke'marke1'
  1834. gesprungenwerden.
  1835.  
  1836. ♪③ifparameter<>indexmarkex
  1837.  
  1838. WenndieVariable'parameter'ungleichderVariablen'index'ist,soll
  1839. zurMarke'markex'gesprungenwerden.
  1840.  
  1841. ♪³ê->--<variable(n)>
  1842. ÇDekrementiereneinerodermehrererParameterumeins.
  1843. ♪⑤BEISPIEL:
  1844.  
  1845. --indexjuhu
  1846.  
  1847. DiebeidenVariablen'index'und'juhu'werdenumeinserniedrigt.
  1848.  
  1849. ♪②ê->++<variable(n)>
  1850. ÇAnalogzuü--Ç,nurdaßdiesmaleinsdazuaddiertwird.
  1851.  
  1852. ♪②ê->-=<varA><varB|zahl>
  1853. ÇErniedrigenvon'varA'um'varB'oder'zahl'oderandersausgedrückt:
  1854.  
  1855. varA:=varA-varB
  1856. varA:=varA-zahl
  1857.  
  1858. 'varB'kannübrigensdiegleicheVariablewie'varA'sein.Indiesem
  1859. Fallewürdedasbedeuten,daß'varA'nachderOperationdenWertNull
  1860. hat.
  1861. ♪⑤BEISPIEL:
  1862.  
  1863. -=index12
  1864.  
  1865. VonderVariablen'index'wird12abgezogen.
  1866.  
  1867. ♪③-=indexjuhu
  1868.  
  1869. VonderVariablen'index'wirdderWertdesParameters'juhu'abgezo⑨
  1870. gen.
  1871.  
  1872. ♪②ê->+=<varA><varB|zahl>
  1873. ÇAnalogzuü-=Ç,nurdaßdiesmaleineAdditionstattfindet.
  1874.  
  1875. ♪②ê->*=<varA><varB|zahl>
  1876. ÇAnalogzuü-=Ç,nurdaßdiesmaleineMultiplikationstattfindet.
  1877.  
  1878. ♪②ê->/=<varA><varB|zahl>
  1879. ÇAnalogzuü-=Ç,nurdaßdiesmaleineDivisionstattfindet.
  1880.  
  1881. ♪②ê->2*<variable(n)>
  1882. ÇVerdoppelnvonVariablenwerten.
  1883. ♪√ÇBEISPIEL:
  1884.  
  1885. 2*indexjuhu
  1886.  
  1887. 'index'und'juhu'habenhierihreWerteverdoppelt.
  1888.  
  1889. ♪②ê->2/<variable(n)>
  1890. ÇHalbierenvonVariablenwerten.
  1891. DadieVariablenvomTypIntegersind,werdenungeradeVariablen
  1892. natürlichnichtdenkorrektenWerterhalten,11/2würdeimWert5
  1893. resultierenundnichtin5.5!
  1894. ♪⑤BEISPIEL:
  1895.  
  1896. 2/index
  1897.  
  1898. Hat'index'vorAusführungdesKommandos222enthalten,stehtdanach
  1899. 111inderVariablen.
  1900.  
  1901. ♪②ê->print<variable(n)>
  1902. ÇAusgabederVariablenwerteaufdemBildschirm.
  1903. ♪⑤BEISPIEL:
  1904.  
  1905. printindexjuhu
  1906.  
  1907. HierwerdendieInhaltevon'index'und'juhu'ausgegeben.
  1908.  
  1909. ♪②ê->clear
  1910. ÇAlleVariablenwertewerdenaufNullgesetzt,d.h.abernicht,daßdie
  1911. Variablenlisteentferntwird,dafürgibtesdasfolgendeKommando:
  1912.  
  1913. ♪②ê->erase
  1914. ÇDieVariablenlistewirdentfernt.
  1915.  
  1916. ♪②ê->vardump
  1917. ÇAllevorhandenenVariablenwerdenmitihrenWertenaufdenBildschirm
  1918. ausgegeben.DieserBefehlverschafftdemBenutzerimmereinenÜber⑨
  1919. blick,welcheVariablenexistieren,wiegroßihreAnzahlist,mit
  1920. welchenWertensiegeradebelegtsindundwosiesichinder
  1921. Variablenlistebefinden.
  1922.  
  1923.  
  1924. ♪③ê7.1 AllgemeineszudenVariablen
  1925. Ç
  1926. AlleVariablensindvomTypLonginteger(32Bits).
  1927. NeueVariablenkönnennichtnurdurchdenületÇ-Befehleingeführtwerden.
  1928. JederBezugaufeineVariable,dienochnichtexistiert,erzeugteinen
  1929. ÇVariableneintragundsetztdenaktuellenVariablenwertaufNull!
  1930.  
  1931. DieVariablensindineinerPointerliste,diedenjeweiligenVariablen⑨
  1932. namenundWertenthält,organisiert.
  1933.  
  1934.  
  1935. ♪③ê7.2 Beispiel
  1936. Ç
  1937. AneinemBeispielsollgezeigtwerden,daßmitHilfederVariablen
  1938. nichtnurZählschleifeninBatchfilesaufgebautwerdenkönnen.
  1939.  
  1940. DerfolgendeBatchfiledientzurCompilierung,LinkungundCodeverbes⑨
  1941. serungdereinzelnenSourcefiles,ausdenenderKommandointerpreter
  1942. besteht.
  1943. DieSourcefilesheißenimeinzelnen'COMMAND.C','COM.C'und'EDI.C'.
  1944. DieBatchdateisollnuninderLagesein,jedeneinzelnendieserFiles
  1945. zucompilierenoderdenObjektcodezuverbessern.Zusätzlichmußdie
  1946. Möglichkeitgegebensein,dieentsprechendenObjektfileszusammenlinken
  1947. zukönnen,sodaßêcommand.prgÇalsEndproduktentsteht.
  1948. JededieserAnforderungenmußüberParametereingabeandieDatei
  1949. einzelnerfülltsein.
  1950. ♪③DasEingabeformatsollfolgendermaßenaussehen:
  1951.  
  1952. @cc<file>[aktion]
  1953.  
  1954. 'cc'repräsentiertdabeidieBatchdatei.<file>isteinerderoben
  1955. genanntenFiles(ohneExtension!).[aktion]steuertdasVerhaltendes
  1956. Batchfiles.WirddieserParameterweggelassen,sollderangegebeneFile
  1957. compiliertwerden.DarananschließendeineCode-Verbesserungdurchge⑨
  1958. führtwerdenundzumSchlußdasganzezusammengelinktwerden.
  1959. Wirdfür[aktion]'lc'oder'cl'eingegebenwird,nurderCompiler
  1960. gestartetunddasganzezusammengelinkt.
  1961. BeiEingabevon'il'oder'li'wirdeineCode-Verbesserungdurchgeführt
  1962. unddannderLinkvorganggestartet.
  1963. 'l'resultiertineinemLinkvorgang.
  1964. 'c'startetnurdenCompiler.
  1965. 'i'führteineCodeverbesserungaus.
  1966.  
  1967. ♪⑤MöchtemandenFile'COMMAND.C'compilierenundmitdenanderenFiles
  1968. zusammenlinken,müßtealso
  1969.  
  1970. @cccommandlc
  1971.  
  1972. eingegebenwerden.
  1973. ê
  1974. ♪∞ê7.2.1 DerFileîcc
  1975. Ç
  1976. ü     ;
  1977.      ;BatchfilezurCompilierungeinesC-Filesvoncommand.prg
  1978.      ;
  1979.      notext        ;keineKommandoausgabeaufSchirm
  1980.      cls
  1981.      ;
  1982.      ;Steuervariable
  1983.      ;
  1984.      let$10           ;allesausführen
  1985.      letlc4           ;compilierenundlinken
  1986.      letcl4           ;-"-     
  1987.      letl1            ;linken
  1988.      letc2            ;compilieren
  1989.      leti6            ;Codeverbessern
  1990.      letil5           ;verbessernundlinken
  1991.      letli5           ;-"-     
  1992.      if$1=1linken
  1993.      if$1>4improve
  1994.      mmcc.ttp$0.c      ;Compilerabteilung
  1995.      ?status#0exit    ;imFehlerfall
  1996.      if$1=2exit     ;nurCompilerlauf
  1997.      if$1=4linken
  1998.      lblimprove        ;Improve-Abteilung
  1999.      mmimp.ttp$0.o
  2000.      ?status#0exit    ;Fehleraufgetreten
  2001.      if$1=6exit
  2002.      lbllinken         ;Linkerabteilung
  2003.      mmlink.ttpcommand.ocom.oedi.o-Ocommand.prg
  2004.      lblexit
  2005. Ç
  2006. Ichglaube,damitisteinesinnvolleVerwendungfürVariablendeutlich
  2007. geworden.
  2008. Esistrelativeinfach,diesenFileaneigeneBedürfnisseanzupassen.
  2009. DieVorgehensweisedürftekeinegroßenVerständnisproblemeaufwerfen.
  2010.  
  2011.  
  2012. ë8 EDI
  2013. Ç
  2014. EDIisteinzeilenorientierter(Primitiv-)Editor.Ersollzumschnel⑨
  2015. lenModifizierenvonKleinigkeiteninBatchfileso.ä.dienen.Zum
  2016. SchreibenvonProgrammenoderzumBetreibenvonTextverarbeitungsollte
  2017. maneinenanderenEditorverwenden(z.B.TEMPUS,EMACSu.s.w.).
  2018. DerVorteildieseseingebautenProgrammteilsliegtinderschnellen
  2019. Verfügbarkeit;Ladezeiten,wiesiefürdieVerwendungeinesexternen
  2020. Editorsbenötigtwerden,entstehennicht.
  2021. DerAufruferfolgtmit"edi<filename>".
  2022. JedeeingeleseneZeiledarfhöchstensê76ÇZeichenlangsein!Kommen
  2023. längereZeilenvor,erfolgteinStutzenderZeile(êohneWarnung!Ç).
  2024. TabulatorzeichenwerdeninBlanksumgewandelt(darankannmanerkennen,
  2025. wieeinfachderEditorist)!
  2026. BeiAngabeeinesnichtexistentenFiles,wirddieserbeiVerlassenvon
  2027. EDI(via's')erzeugt.EswirdkeineWarnungausgegeben,daßeine
  2028. nichtvorhandeneDateiangegebenwordenist!
  2029.  
  2030.  
  2031. ♪④ê8.1 DieKommandosvonEDI
  2032. Ç
  2033. EsgiltjeweilsderindieHochkommaseingeschlosseneBuchstabe,die
  2034. üRETURNÇ-TastewirdzumAbschließenderEingabenichtbenutzt!
  2035.  
  2036.  
  2037. ê'ëeê'(dit)EditiereneinerZeile
  2038. ÇNachEingabevon'e'wirdeineZeilennummerangefordert.Daseigent⑨
  2039. licheEditierengehtgenauwiebeiderEingabevonKommandos,alsomit
  2040. denCursortasteu.s.w.SolleneingegebeneÄnderungennichtübernommen
  2041. werden,kannmitü^ZÇeinAbbruchdesKommandosdurchgeführtwerden.
  2042.  
  2043. ♪②ê'ëlê'(ist)AuflistendeseingelesenenFiles
  2044. ÇEswirdnachEingabevon'l'dergewünschteZeilenbereichangefordert.
  2045. Wirdbei'START:'einfachnurRETURNgedrückt,erfolgteinkomplettes
  2046. AuflistendesFiles.
  2047. EinvorzeitigesAbbrechendesListvorgangsistmitü^ZÇmöglich.
  2048. üF1ÇunterbrichtdieAusgabe,mitüF1Çwirdwiederfortgefahren.
  2049.  
  2050. ♪②ê'ëpê'(rint)Printerausgabe
  2051. ÇDeranalogeBefehlzu'list'.DieAusgabeerfolgtallerdingsaufden
  2052. Drucker.
  2053. DieDruckerinformationenundEinstellungendesülpÇ-Kommandoswerden
  2054. ênichtÇberücksichtigt!EshandeltsichwirklichnurumeineAusgabeum⑨
  2055. leitungdes'list'-Befehls.
  2056.  
  2057. ♪³ê'ëfê'(ind)Stringsuche
  2058. ÇSuchtnacheinembestimmtenStringinnerhalbvonZeilen.JedeZeile,in
  2059. derdereinzugebendeStringvorkommt,wirdausgegeben.
  2060.  
  2061. ♪②ê'ërê'(eplace)Stringersetzung
  2062. ÇEsmußdabeiangegebenwerden,obvordemErsetzungsvorgangeine
  2063. Sicherheitsabfrageerfolgensollodernicht.
  2064.  
  2065. ♪②ê'ëdê'(elete)Zeilenlöschen
  2066. ÇEswirdderzulöschendeBereichangefordert.
  2067.  
  2068. ♪②ê'ëiê'(nsert)neueZeileneinfügen
  2069. ÇEswirddieNummerderZeileangefordert,vorderdieneuenZeilen
  2070. eingefügtwerdensollen.AbbruchdiesesModusmitü^ZÇ.
  2071.  
  2072. ♪②ê'ëaê'(ppend)Zeilenanfügen
  2073. ÇAnfügenvonneuenZeilenandasFileende.Abbruchwieimmermitü^ZÇ.
  2074.  
  2075. ♪②ê'ënê'(ew)Gesamtlöschung
  2076. ÇLöschtalleZeilen.EsfindetallerdingseineSicherheitsabfragestatt.
  2077.  
  2078. ♪②ê'ësê'(ave)Abspeichern
  2079. ÇAbspeicherndesFilesundverlassenvonEDI.
  2080.  
  2081. ♪②ê(e)'ëxê'(it)Beenden
  2082. ÇVerlassenvonEDIêohneÇabspeichern.
  2083.  
  2084. ♪②ê'ëhê'(elp)Hilfe
  2085. ÇAuflistendervorhandenenBefehlemiteinerkurzenBeschreibungsowie
  2086. AngabedesaktuellenFiles.
  2087.  
  2088.  
  2089. ë9 Fehlermeldungen
  2090. Ç
  2091. DerInterpretergibtzahlreicheFehlermeldungenaus.Diesesindhier
  2092. miteinerkurzenBeschreibungzusammengefaßt.Mandarfallerdingsnicht
  2093. erwarten,daßêcommand.prgÇKorrekturvorschlägemacht.
  2094.  
  2095. ♪③«missingargument(s)»
  2096. Fehlernr.:1
  2097. EsgibthaltBefehle,dieerwarteneinfacheinArgumentoderwennsie
  2098. ganzunverschämtsind,gleichmehrere.
  2099.  
  2100. ♪③«directoryisn'tempty»
  2101. Fehlernr.:2
  2102. Hierwurdeversucht,einnichtleeresVerzeichniszulöschen.
  2103.  
  2104. ♪③«can'tdeletedirectory»
  2105. Fehlernr.:3
  2106. MansolltenurOrdnerentfernen,dieesauchwirklichgibt.
  2107.  
  2108. ♪③«wrongcommandsyntaxorargument»
  2109. Fehlernr.:4
  2110. KannbeiderZahlenkonvertierungauftauchenoderwennBefehlemit
  2111. unpassendenArgumentenversorgtwerden.
  2112.  
  2113. ♪②«printernotconnected»
  2114. Fehlernr.:5
  2115. EntwederPrinteronlinestellenoderdasDingeinfachmaleinschalten.
  2116.  
  2117. ♪②«can'topenfile»
  2118. Fehlernr.:6
  2119. Passiert,wenneinFilenichtgefundenwerdenkann.
  2120.  
  2121. ♪③«can'tdeletefile»
  2122. Fehlernr.:7
  2123. Kommtvor,wennürmÇesnichtschaffteinenFilezulöschen.Zumeinen
  2124. passiertdies,wennesdenFilenichtgibt,zumanderenkannderFile
  2125. auchvorLöschengeschütztsein.
  2126.  
  2127. ♪②«commandnotfound»
  2128. Fehlernr.:8
  2129. KanneineEingabenunüberhauptnichtverarbeitetwerden,kommtdiese
  2130. Meldung.
  2131.  
  2132. ♪③«toomanyarguments»
  2133. Fehlernr.:9
  2134. MancheBefehlewollenüberhauptkeinArgument,anderenureine
  2135. ÇbestimmteAnzahl.BeiÜberfütterungstößtmandannaufdieseMeldung.
  2136.  
  2137. ♪②«argumentoutofrange»
  2138. Fehlernr.:10
  2139. Wirdausgegeben,wennbeimütimeÇ-Kommandobzw.beimüdateÇ-Befehlein
  2140. fehlerhaftesArgumentangegebenwordenist.
  2141.  
  2142. ♪②«toomuchbatch-files»
  2143. Fehlernr.:11
  2144. EsdürfenmaximaldreiBatchdateiengeöffnetsein.
  2145.  
  2146. ♪②«useonlyinbatch-files»
  2147. Fehlernr.:12
  2148. EsgibtKommandosdienurdortSinnhaben(z.B.ürestartÇ).
  2149.  
  2150. ♪②«labelnotfound»
  2151. Fehlernr.:13
  2152. EineMarkekonntenichtgefundenwerden.
  2153.  
  2154. ♪②«can'tcreatefile»
  2155. Fehlernr.:14
  2156. Eswar,auswasfürGründenauchimmer,nichtmöglich,einenFilezu
  2157. erstellen.
  2158.  
  2159. ♪②«wrongdirectory»
  2160. Fehlernr.:16
  2161. KommtbeimWechselineinennichtvorhandenenOrdnervor.
  2162.  
  2163. ♪②«don'tuse'*'or'?'»
  2164. Fehlernr.:17
  2165. KommtbeieinigenBefehlenvor,diesichnuraufEinzelfilesanwenden
  2166. lassen(z.B.ühideÇ).
  2167.  
  2168. ♪②«can'texecute'.acc'-files»
  2169. Fehlernr.:18
  2170. DerInterpreteristnichtinderLage,Deskaccessoriesauszuführen.
  2171.  
  2172. ♪②«directoryexists»
  2173. Fehlernr.:19
  2174. EinOrdnerkannnichtzweimalgebasteltwerden.
  2175.  
  2176. ♪②«can'tcreatedirectory»
  2177. Fehlernr.:20
  2178. AusirgendwelchenGründenkanndieKreierungeinesOrdnersnicht
  2179. vorgenommenwerden(z.B.Schreibschutz).
  2180.  
  2181. ♪³Ç«'!'-argumentnotinrange»
  2182. Fehlernr.:21
  2183. EswurdeversuchtaufeinenaltenBefehlzuzugreifen,dernichtinder
  2184. History-Listeist.
  2185.  
  2186. ♪②«relationunknown»
  2187. Fehlernr.:22
  2188. ProblemchenbeidenüifÇ-BedingungeninderVariablenabteilung.
  2189.  
  2190. ♪②«notenoughdisk-space»
  2191. Fehlernr.:23
  2192. Bedeutungdürfteklarsein.
  2193.  
  2194. ♪②«filenotopen»
  2195. Fehlernr.:24
  2196. DasüwriteÇ-Kommandowurdeangewandt,obwohlgeradekeinFilemit
  2197. üopenÇ/üappendÇgeöffnetwordenist.
  2198. DurchdasWegfallendieserBefehle,gibtesdieseMeldungnichtmehr!
  2199.  
  2200. ♪②«can'tchangemode»
  2201. Fehlernr.:25
  2202. FindetbeimüchmodÇ-BefehlVerwendung.
  2203.  
  2204.  
  2205. DieFehlernummer15existiertnichtmehr,deshalbdieLücke!
  2206.  
  2207. EsgibteinigeFehler,diezumsofortigenProgrammstopdesInterpreters
  2208. führen.Sollteesnichtmehrmöglichsein,RAM-PlatzfürEinträge,wie
  2209. z.B.dieHistory-ListeoderALIAS,zubeschaffen,tritteinsolcher
  2210. Abbruchauf.
  2211.  
  2212. DasProgrammwirdübrigensgarnichterstgestartet,wennderReservie⑨
  2213. rungsversuchdesInterpreters,dersich32kRAMbesorgenwill,fehl⑨
  2214. schlägt.MansolltedannseineRAM-Disketwaskleinermachenoder
  2215. einigeAccessoriesentfernen.
  2216.  
  2217. IsteinFehleraufgetretenenthältüstatusÇdieFehlernummer.
  2218.  
  2219.  
  2220. ë10 DieAusgabeumleitung
  2221. Ç
  2222. EinigeBefehleerlaubenes,dieAusgabeineinenFileumzuleiten.Dazu
  2223. mußdirektandasKommando'|[file]'mitangegebenwerden.
  2224. BEISPIEL:
  2225.  
  2226. tree|dir.txt
  2227.  
  2228. DasDirectoryverzeichniswirdindenFile'dir.txt'geschrieben.
  2229.  
  2230. FolgendeKommandossindmitderUmleitungausgestattet:
  2231.  
  2232.           -tree   -time   -print  -cp     -wc
  2233.           -find   -date   -status -alias  -pwd
  2234.           -od     -cat    -flags  -df
  2235.           -dir    -more   -version-device
  2236.           -ls     -echo   -cmp    -head
  2237.           -string-vardump-help
  2238.  
  2239. WirddieUmleitungbeiKommandosangewandt,diedieseMöglichkeitnicht
  2240. bieten,wirdeinleererAusgabefileerzeugt,sonstpassiertnichts!
  2241. Unangenehmwirdesallerdingswenn,z.B.mitüodÇ,einAusgabefilevom
  2242. Ausgabefilegemachtwerdensoll.DerFilegehtdannnämlichüverlorenÇ!
  2243. BeiAngabevon'|[file]'wirdeineneueDateierstellt,gibtman
  2244. hingegen'||[file]'an,erfolgtdieUmleitungandasEndeeinerbereits
  2245. bestehendenDatei.Existiertdieseallerdingsnochnicht,wirdeine
  2246. neuekreiert(Funktiondannwieein'|[file]').
  2247. EskannübrigensauchaufGerätschaftenausgegebenwerden.'dir|PRT:'
  2248. sendetz.B.seineAusgabezumDruckerport(Centronics-Schnittstelle).
  2249. ü
  2250. Ç     üPRT:Ç     UmleitungzumDrucker
  2251.      üCON:Ç     UmleitungzurKonsole(entsprichtkeinerAngabe)  
  2252.      üAUX:Ç     zurRS-232Schnittstelle(nichtgetestet!)
  2253.     ü MIDIÇ     (nichtgetestet)
  2254.  
  2255. ë11 AllgemeinesBlablazumSchluß
  2256. Ç
  2257. ê11.1 Lieferumfang
  2258. Ç
  2259. -COMMAND.PRG
  2260. 9  [.................................................]011
  2261. dereigentlicheInterpreter.
  2262.  
  2263. 9[.......................................................]011
  2264. -COMMAND.TXT
  2265. 9  [.................................................]011
  2266. dievorliegendeBeschreibung.
  2267.  
  2268. 9[....................................................]011
  2269. -COMMAND.HLP
  2270. 9  [.................................................]011
  2271. wirdfürdenühelpÇ-Befehlgebraucht.
  2272.  
  2273. 9[...................................................]011
  2274. -TEST
  2275. 9  [.................................................]011
  2276. einBatchfile,derzurFunktionsüberprüfungdermeistenKomman⑨
  2277. dosdienensoll.MankannanhanddieserDateiauchdie
  2278. FunktionsweisederdiversenBefehlerechtguterkennen.
  2279.  
  2280. 9[...................................................]011
  2281. -GETARG.PRG
  2282. 9  [.................................................]011
  2283. einkleinesProgramm,daszurErmittlungderParameterdienen
  2284. soll,dieaneinProgrammz.B.durcheineShellübergeben
  2285. werden.DamitlassensichverschiedeneAnwendungen,inder
  2286. HauptsacheallerdingsCompilerundLinker,andenInterpreter
  2287. anpassen.
  2288. GETARG.PRGmußnurindenentsprechendenProgrammnamenumge⑨
  2289. nanntwerden,danneinfachdennormalenFunktionsablaufstarten
  2290. undschonkannmanerkennen,welcheParameterübergebenwerden.
  2291.  
  2292. 9[...................................................]011
  2293. -CC
  2294. 9  [.................................................]011
  2295. einBeispielbatchfile,derzurCompilierungundLinkungvonC-
  2296. FilesunterVerwendungdesMEGAMAX-C-Compilersbenutztwerden
  2297. kann.TritteinFehlerauf,wirdautomatischeinEditor
  2298. aufgerufen,diesermußvomBenutzerdefiniertwerden(siehe
  2299. Batchdatei).
  2300.  
  2301. 9[...................................................]011
  2302. -AS
  2303. 9  [.................................................]011
  2304. dieserBatchfileentsprichtdemBeispiel3,daßichweiteroben
  2305. gegebenhabe.DamitlassensichAssemblerfilesdurchden
  2306. AssemblerundLinkerausdemEntwicklungspaketzulauffähigen
  2307. Programmenübersetzen.
  2308.  
  2309. 9[........................................................]011
  2310. ê
  2311.  
  2312. ♪③11.2 ZurProgrammierung
  2313. Ç
  2314. ProgrammiertwurdedasganzeDingmitdemMEGAMAX-C-Compiler(V1.1).
  2315. ÇEineganzeMengevondemCodeistallerdingsinAssemblergeschrieben
  2316. (InlineassemblervomMEGAMAX).
  2317. AlsProgrammeditorwurde,inderHauptsache,derMicroEMACSbenutzt.
  2318. Deristzwarnichtgeradeberühmt,wasGeschwindigkeitsrekordeangeht,
  2319. abersonstziemlichmächtig(vorallemverarbeiteteraufeinerecht
  2320. vernünftigeArtundWeiseTabulatoren).
  2321. InzwischenbinichallerdingswegenderGrößederSourcefilesauf
  2322. TEMPUSumgestiegen,vielleichtkommtjasogarmaleineVersion,diees
  2323. aucherlaubt,dieTabulatortastezuverwenden.
  2324.  
  2325. ImLaufederZeitsindimmerwiederNeuerungenundVerbesserungen
  2326. dazugekommen.LeiderhabensichvieleVerbesserungeninderFolgeeher
  2327. alsVerschlimmbesserungenentpuppt.UmdiesemUmstandRechnungzu
  2328. tragen,habeichdenFileêtestÇgebastelt,derdiemeistenKommandosauf
  2329. ihreFunktionsfähigkeithinüberprüft.
  2330.  
  2331. BeiderArbeitmitdemProgrammkannesvorkommen,daßmanaufFehler
  2332. stößt.EineganzeMengesindseitderVersion1.04entferntworden,
  2333. aberichfürchte,daßesdochnocheinigegibt.EinpaarderFehler
  2334. liegenimBetriebssystem,andenenkannichleidernichtvieländern.
  2335.  
  2336. ObesmitdemneuenTOSProblemegebenwird,bleibtnochabzuwarten.
  2337. TheoretischdürftedieseigentlichnichtderFallsein,daichnur
  2338. offizielleRoutinenbzw.Systemaufrufebenutzthabe,eigentlichmüßten
  2339. beieinerfehlerfreienneuenTOS-VersionaucheinigeProblemedes
  2340. Interpretersverschwinden.
  2341. WennmanaberdieGeschwindigkeitsieht,mitderATARIdieneueTOS-
  2342. VersionderÖffentlichkeitzugänglichmacht,braucheichmirhierwohl
  2343. wedergraueHaarewachsenzulassennochsolltemangroßartige
  2344. Hoffnungenhegen.
  2345. DaesscheinbarkeineoffiziellenAngabendarübergibt,welcheRegister
  2346. beiGEMDOS/XBIOS/BIOS-Aufrufenverändertwerden,habeichdort,wo
  2347. solcheAufrufeimProgrammvorkommen,dieRegisterD2-D7undA2-A6
  2348. gerettet.InderHoffnung,daßmirdabeikeinFehlerunterlaufenist...
  2349. DaMEGAMAXfürFunktionenwiez.B.ügetc()Çoderüfopen()Çwohlauchauf
  2350. dieseAufrufeaufbaut,geheichmaldavonaus,daßdieEntwickler
  2351. diesesCompilersdienotwendigenRegisterretten.
  2352.  
  2353. NachderAbarbeitungvonexternenProgrammenwerdennuneinigeZeiger
  2354. wiederrestauriert(z.B.fürdieMausroutinen).Damithabensicheinige
  2355. Probleme,diedurchdieZeigerverbiegerei,ausgelöstdurchirgendwelche
  2356. Programme,entstandensind,inLuftaufgelöst.
  2357. TrotzdemgibtesimmernochProgramme,diesichgarnichtmitdem
  2358. Interpretervertragen;bisjetztistmirderentscheidendeGedanken⑨
  2359. blitzzurBeseitigungdieserRestriktionnochnichtgekommen.
  2360. SauberprogrammierteAnwendungenlaufenaberklaglos.
  2361. Ç
  2362. AndemProgrammerhebeichvonmeinerSeitekeinerleiCopyrightsoder
  2363. ähnlicheAnsprüche,eskannvonjedembeliebiggenutztundweitergege⑨
  2364. benwerden.
  2365. Natürlichwäreesrechtnett,wennbeieinersolchenWeitergabe
  2366. wirklichalleFilesdabeisind,dasProgrammistz.B.ohneausreichende
  2367. Beschreibungnichtallzuvielwert.
  2368.  
  2369. ♪②InteressentenamSourcecodekönnendiesengegenEinsendungeiner
  2370. LeerdisketteundeinesfrankiertenRückumschlagsbekommen.
  2371. DaichandemProgrammimmernochÄnderungendurchführe(neueBefehle
  2372. einbauen,Fehlerentfernen...),enthältdieseSourcecodediskettedann
  2373. auchdiejeweilsneuesteVersion,sowieeinigeUtility-Programme.
  2374. DieseSourcecode-Kopiekostetnatürlichnichts(außerdembereits
  2375. erwähntenPorto,derVerpackungundderDiskette);essolltenfürmich
  2376. einfach,außerderZeit,keineKostenentstehen.
  2377.  
  2378. Anregungen,FragenundvorallemMeldungenvonaufgetretenenProgramm⑨
  2379. fehlernbitteichanmichzuschicken:
  2380.  
  2381.                         JoachimWolf
  2382.                         Heubergstr.3
  2383.                     7014Kornwestheim
  2384.                     Tel.:07154/7979
  2385.  
  2386.  
  2387. ü12 ANHANGAÇ(Befehlszusammenfassung)
  2388.  
  2389. 9[........................................................]011
  2390. !             ZugriffaufaltesKommando
  2391. #             Dezimalwertumrechnen
  2392. $             Hexwertumrechnen
  2393. *=            Variablenmultiplikation
  2394. ++            Variableinkrementieren
  2395. +=            Variablenaddition
  2396. --            Variabledekrementieren
  2397. -=            Variablensubtraktion
  2398. /=            Variablendivision
  2399. 2*            Variableverdoppeln
  2400. 2/            Variableteilen
  2401. ;             Kommantarzeile
  2402. <             Statusabbruchbedingung
  2403. <>            Statusabbruchbedingung
  2404. ==            Statusabbruchbedingung
  2405. >             Statusabbruchbedingung
  2406. ?arg          SprungzuLabel,wennArgumentexistiert
  2407. ?batch        zeigtAnzahloffenerBatchdateien
  2408. ?ok           Virusüberprüfung
  2409. ?status#     status-Sprungbedingung
  2410. ?status<     status-Sprungbedingung
  2411. ?status=     status-Sprungbedingung
  2412. ?status>     status-Sprungbedingung
  2413. ?stop         bedingtBatchfilestoppen
  2414. @             Batchfileaufrufen
  2415. \             Oktalwertumrechnen
  2416. alias         Belegungenausgeben
  2417. batch         Batchfileaufrufen
  2418. bell          einmalklingeln
  2419. break          AbbruchderBatchbearbeitung
  2420. cat           File(s)ausgeben
  2421. cd           Ordnerwechseln
  2422. chmod         Fileattributeändern
  2423. clear         Variablenwertelöschen
  2424. cleararg       löschtvorhandenü$Ç-Argumente
  2425. cls           Bildschirmlöschen
  2426. cmp           Filevergleich
  2427. compress      Filekomprimierung
  2428. cp            File(s)kopieren
  2429. crsoff        Cursorausschalten
  2430. crson         Cursoreinschalten
  2431. crypt         Fileverschlüsselung
  2432. date          Datumausgeben/setzen
  2433. defkey        Funktionstastebelegen
  2434. Çdelalias      Alias-Eintragentfernen
  2435. device        AusgabederansprechbarenMassenspeicher
  2436. df            SpeicherplatzaufDiskette
  2437. dir           File(s)auflisten
  2438. echo          Stringausgeben
  2439. edi           Editoraufrufen
  2440. erase         Variablenlisteentfernen
  2441. errorbreak    BatchabbruchimFehlerfall
  2442. exist         TestobFilevorhanden
  2443. exit          Interpreterverlassen
  2444. expand        komprimierteFilesexpandieren
  2445. find          File(s)finden
  2446. flags         Flagausgabe
  2447. free          freierRAM-Bereich
  2448. getalias      Belegungeneinlesen
  2449. goto          SprungzuMarke
  2450. h             verfügbarealteEingabenauflisten
  2451. head          dieerstenzehnZeileneinesFilesausgeben
  2452. help          Hilfefunktion
  2453. hide          Fileverstecken
  2454. history    verfügbarealteEingabenauflisten
  2455. if...<      Variablensprung
  2456. if...<>     Variablensprung
  2457. if...=      Variablensprung
  2458. if...>      Variablensprung
  2459. ifarg          Sprung,wennzweiStringsgleich
  2460. inverse       Bildschirmdarstellungumschalten
  2461. keyboard      AusgabeTastenbedeutungen
  2462. keys          AusgabederFunktionstastenbelegungen
  2463. lbl           Markesetzen
  2464. let           Variablebelegen
  2465. lock          Rechnersperren
  2466. lp            File(s)ausdrucken
  2467. lpmargin      linkerRandbeiListings
  2468. lppage        AnzahlderSeiteproSeitebeiListings
  2469. ls            File(s)auflisten
  2470. merge         Filesverbinden
  2471. mkdir         neuenOrdner
  2472. more          File(s)ausgeben
  2473. mouseoff      Mauszeigerausschalten
  2474. mouseon       Mauszeigereinschalten
  2475. mv            Fileumbenennen
  2476. newalias      Neubelegungeinführen
  2477. notext        Batchkommandosnichtausgeben
  2478. numbers       beiListingsZeilennummerausgebenein/aus
  2479. od            Filedump
  2480. Çoldy          wennFile1älteristalsFile2,danngehezuLabel
  2481. page          ListingsmitSeitennummernversehen
  2482. path          AngabeeinesSuchpfades
  2483. pchange    beiüpathÇ-BefehlOrdnerwechselein/aus
  2484. print         Variablenwertausgeben
  2485. pwd           AusgabedesaktuellenPfades
  2486. reset         Rechnerzurücksetzen
  2487. resetlp       Printerinitialisierung
  2488. restart       anBatchfileanfangspringen
  2489. rm            File(s)löschen
  2490. rmdir        Ordnerlöschen
  2491. save          File(s)nurlesbar
  2492. savealias     Belegungenabspeichern
  2493. setarg         setzenvonü$Ç-Argumenten
  2494. savehist     êhistory.datÇabspeichernein/aus
  2495. setlp         Printerinitialisierung
  2496. settab        Tabulatorsetzen
  2497. shiftarg       verschiebenvonü$Ç-Argumenten
  2498. size0         Test,obFilenichtvorhanden
  2499. slash         '/'->'\'ein/aus
  2500. srhist        Historyein/aus
  2501. srtab         automatischeTabulatorfunktionaus-/einschalten
  2502. srtitle       Titelseitenausgabeein/aus
  2503. status        Statusausgeben
  2504. stop          Batchfilestoppen
  2505. string        Stringsuche
  2506. sz            AusgabeBetaein/aus
  2507. text          Batchkommandosausgeben
  2508. time          Zeitausgeben/setzen
  2509. tree         Ordnerstrukturauflisten
  2510. unsave        File(s)les-&schreibbar
  2511. vardump       Variableausgeben
  2512. version       Erstellungsdatumausgeben
  2513. wait          aufTastendruckwarten
  2514. wc            Zeilen&Ziffernzählen
  2515.  
  2516. Ichhoffe,daßichindieseListeallevorhandenenBefehleaufgenommen
  2517. habe.
  2518. SiesolllediglichalsGedankenstützedienen!DievollständigeSyntax
  2519. zueinembestimmtenBefehlistdenvorangehendenAusführungenzu
  2520. entnehmen.
  2521. ImAnhangfindetsicheinIndex,dereinschnellesAuffindender
  2522. gesuchtenKommandosermöglicht.
  2523.  
  2524.  
  2525. ü13 ANHANGÇüBÇ(üoldyÇ-Beispiele)
  2526.  
  2527. ♪3ê13.1 Beispiel1fürdieVerwendungdesëoldyê-Befehls
  2528. Ç
  2529. ü          letkontrolle3
  2530.           size0command.ocompiliere1
  2531.           oldycommand.ocommand.ccompiliere1
  2532.           lblcom
  2533.           size0com.ocompiliere2
  2534.           oldycom.ocom.ccompiliere2
  2535.           lbledi
  2536.           size0edi.ocompiliere3
  2537.           oldyedi.oedi.ccompiliere3
  2538.           lbllinke
  2539.           ifkontrolle=3ende
  2540.           linkcommand.ocom.oedi.o-Ocommand.prg
  2541.           lblende
  2542.          stop
  2543.           lblcompiliere1
  2544.           cccommand.c
  2545.          <>0
  2546.           impcommand.o
  2547.           --kontrolle
  2548.           gotocom
  2549.           lblcompiliere2
  2550.           cccom.c
  2551.          <>0
  2552.           impcom.o
  2553.           --kontrolle
  2554.           gotoedi
  2555.           lblcompiliere3
  2556.           ccedi.c
  2557.          <>0
  2558.           impedi.o
  2559.           --kontrolle
  2560.           gotolinke
  2561. Ç
  2562. DasBeispielbeziehtsichwiederaufdiedreiTeile,ausdenender
  2563. Kommandointerpreterbesteht.
  2564. DerBatchfileüberprüftdasVorhandenseinderObjektfilesbzw.wenn
  2565. diesevorhandensind,ihrAlter.Sindsienichtvorhandenoderälter
  2566. alsderzugehörigeSourcecode,wirdeinCompilerdurchganggestartet.
  2567.  
  2568. DaszweiteBeispielsollzeigen,daßbeiVerwendungandererKommandos
  2569. einegewissePlatzersparniszuerzielenist:
  2570.  
  2571. ♪∩ê13.2 ëoldyê,dieZweite
  2572. Ç
  2573. ü     setargcommandcomedi             ;dieQuelldateien
  2574.      lblloop                           ;Compilerabteilung
  2575.      size0$0.cweiter                  ;Sourcefilefehlt
  2576.      size0$0.ocompiliere              ;Objektfilefehlt
  2577.      oldy $0.o$0.ccompiliere          ;Alterüberprüfen
  2578.      gotoweiter                        ;nächstenFile
  2579.      lblcompiliere                     ;eigentlicheCompilierung
  2580.      cc$0.c
  2581.     <>0                               ;rauswennFehler
  2582.      imp$0.o                           ;Codeimprover
  2583.      lblweiter
  2584.      shiftarg                           ;nächsteDatei
  2585.      ?arg0loop                        ;wennnocheinedaist
  2586.      ;sonstEnde
  2587.      linkcommand.ocom.oedi.o-Ocommand.prg;dasErgebnis
  2588. Ç
  2589.  
  2590. Ichhoffe,dieseBeispieleverdeutlichendieMöglichkeiten,dieüoldyÇ
  2591. bietet.
  2592. MankanndamitzwarkeineSuper-MAKE-Umgebungerstellen,aberKleinvieh
  2593. machtauchMistundaufgrundderEinfachheitinderBenutzung,sollte
  2594. jeder,deröftersProgrammeerstellt,derenSourcecodemehrereDateien
  2595. umfaßt,inderLagesein,einennichtunerheblichenNutzenausdem
  2596. Kommandoziehenzukönnen.
  2597.  
  2598.  
  2599. ë14 Index
  2600. Ç
  2601. ! ................... 31f,32ff,33ff,53,58
  2602. !! .................. 33f
  2603. # ................... 28
  2604. $ ................... 28
  2605. *= .................. 45,58
  2606. ++ .................. 45,58
  2607. += .................. 45,58
  2608. -- .................. 45f,58,61f
  2609. -= .................. 45ff,58
  2610. / ................... 11,21,25f,26,28,60
  2611. /= .................. 45,58
  2612. 2* .................. 45,46,58
  2613. 2/ .................. 46f,58
  2614. < ................... 40,59
  2615. <> .................. 39,41f,44f,59,61f,62
  2616. = ................... 59
  2617. == .................. 40,43,58
  2618. > ................... 40,59
  2619. ?arg ................ 36f,39,58,62
  2620. ?batch .............. 36,58
  2621. ?ok ................. 7,58
  2622. ?status ............. 40ff,42f,48f,58ff
  2623. ?stop ............... 36,58
  2624. @ ................... 35f,41,43,47f,58
  2625. ALIAS ............... 53
  2626. Alias ............... 29f,30f,59
  2627. Ausgabeumleitung .... 27
  2628. BACKSPACE ........... 4
  2629. Batch ............... 3,7,14,29,30,34ff,35ff,36ff,37ff,38ff,39ff,40ff,
  2630.                       41ff,42ff,43f,44ff,47ff,48,49,52,55f,58ff,59f,
  2631.                       60f,61
  2632. Bildschirm .......... 7,9,14,17f,19f,20,33,36,46f,58,59
  2633. CONTROL ............. 4f
  2634. CONTROL-D ........... 4
  2635. CONTROL-X ........... 4
  2636. CURSOR-DOWN ......... 32,33
  2637. CURSOR-UP ........... 32,33
  2638. DELETE .............. 4
  2639. Directory ........... 8,11,19,22,24,54
  2640. Drucker ............. 17f,18,23f,24f,25f,26f,49f,54f
  2641. EMACS ............... 49,56
  2642. ESC ................. 4f
  2643. Fileattribut ........ 8,13,58
  2644. Funktionstaste ...... 7,13f,17,58,59
  2645. ÇHELP ................ 16
  2646. History ............. 3f,25f,31f,32f,33,34,53f,60
  2647. INSERT .............. 4
  2648. Kommandointerpreter . 3,29,47,61
  2649. Laufwerk ............ 5,7,8ff,9,10,11ff,13f,14,15f,19,21f,22f,23,26,
  2650.                       27f,28
  2651. MEGAMAX-C ........... 41f,42,55f
  2652. MS-DOS .............. 3
  2653. Maus ................ 3,19f,20ff,56,59f
  2654. Ordner .............. 4,5,7,8f,9f,11,13f,14,16,18ff,21,22,24f,26f,51,
  2655.                       52f,58,59,60f
  2656. SHIFT ............... 4f,13
  2657. TAB ................. 25f
  2658. TEMPUS .............. 49,56
  2659. UNIX ................ 3,31
  2660. VMS ................. 3,32,35
  2661. Variable ............ 38f,44ff,45ff,46ff,47ff,48,53,58ff,59ff,60f
  2662. Verzeichnis ......... 4,5f,7f,8f,9,11ff,13,14f,15,16,18f,19,21f,23,26,
  2663.                       29,40,51
  2664. \ ................... 8,11f,21,25f,28f,58,60
  2665. alias ............... 29ff,30f,54,58
  2666. append .............. 27,53
  2667. auto.com ............ 40
  2668. batch ............... 34,35ff,41,52f,58
  2669. bell ................ 7,58
  2670. break ............... 36,58
  2671. cat ................. 7ff,19f,24,54,58
  2672. cd .................. 7,8ff,18,19,25,27,58
  2673. chmod ............... 8,9f,16,17,53,58
  2674. clear ............... 46,58
  2675. cleararg ............ 39,58
  2676. close ............... 27
  2677. cls ................. 9,43,48,58
  2678. cmp ................. 9,10f,32ff,54,58
  2679. command.hlp ......... 16
  2680. command.prg ......... 3f,29f,35,40,41ff,47,48f,51,61,62
  2681. compress ............ 10f,14f,58
  2682. counter ............. 34f
  2683. cp .................. 6,11ff,32ff,54,58
  2684. crsoff .............. 11,58
  2685. crson ............... 11,58
  2686. crypt ............... 11,12f,58
  2687. date ................ 12f,52,54,58
  2688. defkey .............. 13f,17,58
  2689. delalias ............ 29,59
  2690. device .............. 13,54,59
  2691. Çdf .................. 13,54,59
  2692. dir ................. 4,13f,14ff,16f,18,19,54f,59
  2693. echo ................ 14f,35ff,37f,39f,43ff,54,59
  2694. edi ................. 48,49,59
  2695. erase ............... 46,59
  2696. errorbreak .......... 15,37f,59
  2697. exist ............... 37ff,59
  2698. exit ................ 14,48ff,59
  2699. expand .............. 10f,14,59
  2700. find ................ 14,15f,54,59
  2701. flags ............... 15,20,22,23,24f,25ff,26,36,37,54,59
  2702. free ................ 15,59
  2703. getalias ............ 29,59
  2704. goto ................ 37f,59,61f,62
  2705. h ................... 33,59
  2706. head ................ 16f,54,59
  2707. help ................ 16f,54,55,59
  2708. hide ................ 16f,52,59
  2709. history ............. 33f,59
  2710. if .................. 44ff,48ff,59ff,61
  2711. ifarg ............... 39,59
  2712. inquire ............. 39f
  2713. inverse ............. 17f,59
  2714. keyboard ............ 17,59
  2715. keys ................ 17,59
  2716. lbl ................. 37ff,39,42,43,48f,59,61ff,62f
  2717. let ................. 44f,46,48ff,59,61
  2718. lock ................ 17f,59
  2719. lp .................. 17f,18,23f,25,49,59
  2720. lpmargin ............ 15,18,59
  2721. lppage .............. 15,18,59
  2722. ls .................. 18f,54,59
  2723. merge ............... 18f,59
  2724. mkdir ............... 18,19,59
  2725. more ................ 19f,24,54,59
  2726. mouseoff ............ 19,20,59
  2727. mouseon ............. 20f,59
  2728. mv .................. 20f,59
  2729. newalias ............ 30f,59
  2730. notext .............. 15,36,43,48,59
  2731. numbers ............. 15,20,59
  2732. od .................. 20,21f,54f,59
  2733. oldy ................ 38,60,61ff,62f
  2734. open ................ 27,53
  2735. page ................ 15,21,60
  2736. path ................ 5,21f,22ff,60f
  2737. Çpchange ............. 15,21,22,60
  2738. print ............... 46f,54,60
  2739. pwd ................. 22,54,60
  2740. reset ............... 22,60
  2741. resetlp ............. 15,18,23ff,24,60
  2742. restart ............. 36,42,52,60
  2743. rm .................. 16,23ff,41f,42,43,51,60
  2744. rmdir ............... 24f,60
  2745. save ................ 23,24,27,60
  2746. savealias ........... 29,30f,60
  2747. savehist ............ 15,24,60
  2748. setarg .............. 39ff,60,62
  2749. setlp ............... 15,18,24f,60
  2750. settab .............. 15,18,24f,60
  2751. shiftarg ............ 38,39,60,62
  2752. size0 ............... 37f,43f,60,61f,62f
  2753. slash ............... 15,25f,60
  2754. srhist .............. 15,25f,60
  2755. srtab ............... 15,25,60
  2756. srtitle ............. 15,18,25f,60
  2757. status .............. 38ff,39,40ff,53,54,58ff,60
  2758. stop ................ 36f,42,43,60,61
  2759. string .............. 25,26f,54,60
  2760. sz .................. 15,26,60
  2761. text ................ 15,36f,60
  2762. time ................ 26f,52,54,60
  2763. tree ................ 26,54f,60
  2764. unsave .............. 23,24f,27,60
  2765. vardump ............. 46,54,60
  2766. version ............. 27,54,60
  2767. wait ................ 36,42,60
  2768. wc .................. 27,54,60
  2769. write ............... 27,53
  2770.  
  2771.